summaryrefslogtreecommitdiff
path: root/ghc/lib/prelude
diff options
context:
space:
mode:
authorpartain <unknown>1996-01-08 20:28:12 +0000
committerpartain <unknown>1996-01-08 20:28:12 +0000
commite7d21ee4f8ac907665a7e170c71d59e13a01da09 (patch)
tree93715bf4e6e4bbe8049e4d8d4d3fbd19158a88d6 /ghc/lib/prelude
parente48474bff05e6cfb506660420f025f694c870d38 (diff)
downloadhaskell-e7d21ee4f8ac907665a7e170c71d59e13a01da09.tar.gz
[project @ 1996-01-08 20:28:12 by partain]
Initial revision
Diffstat (limited to 'ghc/lib/prelude')
-rw-r--r--ghc/lib/prelude/Builtin.hi13
-rw-r--r--ghc/lib/prelude/Builtin.hs114
-rw-r--r--ghc/lib/prelude/Builtin_mc.hi13
-rw-r--r--ghc/lib/prelude/Builtin_mg.hi13
-rw-r--r--ghc/lib/prelude/Builtin_mp.hi13
-rw-r--r--ghc/lib/prelude/Builtin_mr.hi13
-rw-r--r--ghc/lib/prelude/Builtin_mt.hi13
-rw-r--r--ghc/lib/prelude/Builtin_p.hi13
-rw-r--r--ghc/lib/prelude/Builtin_t.hi13
-rw-r--r--ghc/lib/prelude/Channel.hi19
-rw-r--r--ghc/lib/prelude/Channel.lhs120
-rw-r--r--ghc/lib/prelude/ChannelVar.hi14
-rw-r--r--ghc/lib/prelude/ChannelVar.lhs58
-rw-r--r--ghc/lib/prelude/ChannelVar_mc.hi14
-rw-r--r--ghc/lib/prelude/ChannelVar_mg.hi14
-rw-r--r--ghc/lib/prelude/ChannelVar_mp.hi14
-rw-r--r--ghc/lib/prelude/ChannelVar_p.hi14
-rw-r--r--ghc/lib/prelude/ChannelVar_t.hi14
-rw-r--r--ghc/lib/prelude/Channel_mc.hi19
-rw-r--r--ghc/lib/prelude/Channel_mg.hi19
-rw-r--r--ghc/lib/prelude/Channel_mp.hi19
-rw-r--r--ghc/lib/prelude/Channel_p.hi19
-rw-r--r--ghc/lib/prelude/Channel_t.hi19
-rw-r--r--ghc/lib/prelude/Cls.hi248
-rw-r--r--ghc/lib/prelude/Cls.hs200
-rw-r--r--ghc/lib/prelude/Cls_mc.hi248
-rw-r--r--ghc/lib/prelude/Cls_mg.hi248
-rw-r--r--ghc/lib/prelude/Cls_mp.hi248
-rw-r--r--ghc/lib/prelude/Cls_mr.hi248
-rw-r--r--ghc/lib/prelude/Cls_mt.hi248
-rw-r--r--ghc/lib/prelude/Cls_p.hi248
-rw-r--r--ghc/lib/prelude/Cls_t.hi248
-rw-r--r--ghc/lib/prelude/Concurrent.hi93
-rw-r--r--ghc/lib/prelude/Concurrent.lhs59
-rw-r--r--ghc/lib/prelude/Concurrent_mc.hi93
-rw-r--r--ghc/lib/prelude/Concurrent_mg.hi93
-rw-r--r--ghc/lib/prelude/Concurrent_mp.hi93
-rw-r--r--ghc/lib/prelude/Concurrent_p.hi93
-rw-r--r--ghc/lib/prelude/Concurrent_t.hi93
-rw-r--r--ghc/lib/prelude/Core.hi45
-rw-r--r--ghc/lib/prelude/Core.hs326
-rw-r--r--ghc/lib/prelude/Core_mc.hi45
-rw-r--r--ghc/lib/prelude/Core_mg.hi45
-rw-r--r--ghc/lib/prelude/Core_mp.hi45
-rw-r--r--ghc/lib/prelude/Core_mr.hi45
-rw-r--r--ghc/lib/prelude/Core_mt.hi45
-rw-r--r--ghc/lib/prelude/Core_p.hi45
-rw-r--r--ghc/lib/prelude/Core_t.hi45
-rw-r--r--ghc/lib/prelude/FoldrBuild.hs20
-rw-r--r--ghc/lib/prelude/IArray.hi45
-rw-r--r--ghc/lib/prelude/IArray.hs285
-rw-r--r--ghc/lib/prelude/IArray_mc.hi45
-rw-r--r--ghc/lib/prelude/IArray_mg.hi45
-rw-r--r--ghc/lib/prelude/IArray_mp.hi45
-rw-r--r--ghc/lib/prelude/IArray_mr.hi45
-rw-r--r--ghc/lib/prelude/IArray_mt.hi45
-rw-r--r--ghc/lib/prelude/IArray_p.hi45
-rw-r--r--ghc/lib/prelude/IArray_t.hi45
-rw-r--r--ghc/lib/prelude/IBool.hi33
-rw-r--r--ghc/lib/prelude/IBool.hs71
-rw-r--r--ghc/lib/prelude/IBool_mc.hi33
-rw-r--r--ghc/lib/prelude/IBool_mg.hi33
-rw-r--r--ghc/lib/prelude/IBool_mp.hi33
-rw-r--r--ghc/lib/prelude/IBool_mr.hi33
-rw-r--r--ghc/lib/prelude/IBool_mt.hi33
-rw-r--r--ghc/lib/prelude/IBool_p.hi33
-rw-r--r--ghc/lib/prelude/IBool_t.hi33
-rw-r--r--ghc/lib/prelude/IChar.hi38
-rw-r--r--ghc/lib/prelude/IChar.hs123
-rw-r--r--ghc/lib/prelude/IChar_mc.hi38
-rw-r--r--ghc/lib/prelude/IChar_mg.hi38
-rw-r--r--ghc/lib/prelude/IChar_mp.hi38
-rw-r--r--ghc/lib/prelude/IChar_mr.hi38
-rw-r--r--ghc/lib/prelude/IChar_mt.hi38
-rw-r--r--ghc/lib/prelude/IChar_p.hi38
-rw-r--r--ghc/lib/prelude/IChar_t.hi38
-rw-r--r--ghc/lib/prelude/IComplex.hi70
-rw-r--r--ghc/lib/prelude/IComplex.hs168
-rw-r--r--ghc/lib/prelude/IComplex_mc.hi70
-rw-r--r--ghc/lib/prelude/IComplex_mg.hi70
-rw-r--r--ghc/lib/prelude/IComplex_mp.hi70
-rw-r--r--ghc/lib/prelude/IComplex_mr.hi70
-rw-r--r--ghc/lib/prelude/IComplex_mt.hi70
-rw-r--r--ghc/lib/prelude/IComplex_p.hi70
-rw-r--r--ghc/lib/prelude/IComplex_t.hi70
-rw-r--r--ghc/lib/prelude/IDouble.hi88
-rw-r--r--ghc/lib/prelude/IDouble.hs299
-rw-r--r--ghc/lib/prelude/IDouble_mc.hi88
-rw-r--r--ghc/lib/prelude/IDouble_mg.hi88
-rw-r--r--ghc/lib/prelude/IDouble_mp.hi88
-rw-r--r--ghc/lib/prelude/IDouble_mr.hi88
-rw-r--r--ghc/lib/prelude/IDouble_mt.hi88
-rw-r--r--ghc/lib/prelude/IDouble_p.hi88
-rw-r--r--ghc/lib/prelude/IDouble_t.hi88
-rw-r--r--ghc/lib/prelude/IFloat.hi88
-rw-r--r--ghc/lib/prelude/IFloat.hs154
-rw-r--r--ghc/lib/prelude/IFloat_mc.hi88
-rw-r--r--ghc/lib/prelude/IFloat_mg.hi88
-rw-r--r--ghc/lib/prelude/IFloat_mp.hi88
-rw-r--r--ghc/lib/prelude/IFloat_mr.hi88
-rw-r--r--ghc/lib/prelude/IFloat_mt.hi88
-rw-r--r--ghc/lib/prelude/IFloat_p.hi88
-rw-r--r--ghc/lib/prelude/IFloat_t.hi88
-rw-r--r--ghc/lib/prelude/IInt.hi110
-rw-r--r--ghc/lib/prelude/IInt.hs299
-rw-r--r--ghc/lib/prelude/IInt_mc.hi110
-rw-r--r--ghc/lib/prelude/IInt_mg.hi110
-rw-r--r--ghc/lib/prelude/IInt_mp.hi106
-rw-r--r--ghc/lib/prelude/IInt_mr.hi110
-rw-r--r--ghc/lib/prelude/IInt_mt.hi110
-rw-r--r--ghc/lib/prelude/IInt_p.hi110
-rw-r--r--ghc/lib/prelude/IInt_t.hi110
-rw-r--r--ghc/lib/prelude/IInteger.hi67
-rw-r--r--ghc/lib/prelude/IInteger.hs162
-rw-r--r--ghc/lib/prelude/IInteger_mc.hi67
-rw-r--r--ghc/lib/prelude/IInteger_mg.hi67
-rw-r--r--ghc/lib/prelude/IInteger_mp.hi67
-rw-r--r--ghc/lib/prelude/IInteger_mr.hi67
-rw-r--r--ghc/lib/prelude/IInteger_mt.hi67
-rw-r--r--ghc/lib/prelude/IInteger_p.hi67
-rw-r--r--ghc/lib/prelude/IInteger_t.hi67
-rw-r--r--ghc/lib/prelude/IList.hi52
-rw-r--r--ghc/lib/prelude/IList.hs63
-rw-r--r--ghc/lib/prelude/IList_mc.hi52
-rw-r--r--ghc/lib/prelude/IList_mg.hi52
-rw-r--r--ghc/lib/prelude/IList_mp.hi52
-rw-r--r--ghc/lib/prelude/IList_mr.hi52
-rw-r--r--ghc/lib/prelude/IList_mt.hi52
-rw-r--r--ghc/lib/prelude/IList_p.hi52
-rw-r--r--ghc/lib/prelude/IList_t.hi52
-rw-r--r--ghc/lib/prelude/IO.hi71
-rw-r--r--ghc/lib/prelude/IO.hs137
-rw-r--r--ghc/lib/prelude/IO_mc.hi71
-rw-r--r--ghc/lib/prelude/IO_mg.hi71
-rw-r--r--ghc/lib/prelude/IO_mp.hi71
-rw-r--r--ghc/lib/prelude/IO_mr.hi71
-rw-r--r--ghc/lib/prelude/IO_mt.hi71
-rw-r--r--ghc/lib/prelude/IO_p.hi71
-rw-r--r--ghc/lib/prelude/IO_t.hi71
-rw-r--r--ghc/lib/prelude/IRatio.hi83
-rw-r--r--ghc/lib/prelude/IRatio.hs156
-rw-r--r--ghc/lib/prelude/IRatio_mc.hi83
-rw-r--r--ghc/lib/prelude/IRatio_mg.hi83
-rw-r--r--ghc/lib/prelude/IRatio_mp.hi83
-rw-r--r--ghc/lib/prelude/IRatio_mr.hi83
-rw-r--r--ghc/lib/prelude/IRatio_mt.hi83
-rw-r--r--ghc/lib/prelude/IRatio_p.hi83
-rw-r--r--ghc/lib/prelude/IRatio_t.hi83
-rw-r--r--ghc/lib/prelude/ITup0.hi34
-rw-r--r--ghc/lib/prelude/ITup0.hs43
-rw-r--r--ghc/lib/prelude/ITup0_mc.hi34
-rw-r--r--ghc/lib/prelude/ITup0_mg.hi34
-rw-r--r--ghc/lib/prelude/ITup0_mp.hi34
-rw-r--r--ghc/lib/prelude/ITup0_mr.hi34
-rw-r--r--ghc/lib/prelude/ITup0_mt.hi34
-rw-r--r--ghc/lib/prelude/ITup0_p.hi34
-rw-r--r--ghc/lib/prelude/ITup0_t.hi34
-rw-r--r--ghc/lib/prelude/ITup2.hi56
-rw-r--r--ghc/lib/prelude/ITup2.hs69
-rw-r--r--ghc/lib/prelude/ITup2_mc.hi56
-rw-r--r--ghc/lib/prelude/ITup2_mg.hi56
-rw-r--r--ghc/lib/prelude/ITup2_mp.hi56
-rw-r--r--ghc/lib/prelude/ITup2_mr.hi56
-rw-r--r--ghc/lib/prelude/ITup2_mt.hi56
-rw-r--r--ghc/lib/prelude/ITup2_p.hi56
-rw-r--r--ghc/lib/prelude/ITup2_t.hi56
-rw-r--r--ghc/lib/prelude/ITup3.hi12
-rw-r--r--ghc/lib/prelude/ITup3.hs91
-rw-r--r--ghc/lib/prelude/ITup3_mc.hi12
-rw-r--r--ghc/lib/prelude/ITup3_mg.hi12
-rw-r--r--ghc/lib/prelude/ITup3_mp.hi12
-rw-r--r--ghc/lib/prelude/ITup3_mr.hi12
-rw-r--r--ghc/lib/prelude/ITup3_mt.hi12
-rw-r--r--ghc/lib/prelude/ITup3_p.hi12
-rw-r--r--ghc/lib/prelude/ITup3_t.hi12
-rw-r--r--ghc/lib/prelude/ITup4.hi12
-rw-r--r--ghc/lib/prelude/ITup4.hs100
-rw-r--r--ghc/lib/prelude/ITup4_mc.hi12
-rw-r--r--ghc/lib/prelude/ITup4_mg.hi12
-rw-r--r--ghc/lib/prelude/ITup4_mp.hi12
-rw-r--r--ghc/lib/prelude/ITup4_mr.hi12
-rw-r--r--ghc/lib/prelude/ITup4_mt.hi12
-rw-r--r--ghc/lib/prelude/ITup4_p.hi12
-rw-r--r--ghc/lib/prelude/ITup4_t.hi12
-rw-r--r--ghc/lib/prelude/ITup5.hi12
-rw-r--r--ghc/lib/prelude/ITup5.hs109
-rw-r--r--ghc/lib/prelude/ITup5_mc.hi12
-rw-r--r--ghc/lib/prelude/ITup5_mg.hi12
-rw-r--r--ghc/lib/prelude/ITup5_mp.hi12
-rw-r--r--ghc/lib/prelude/ITup5_mr.hi12
-rw-r--r--ghc/lib/prelude/ITup5_mt.hi12
-rw-r--r--ghc/lib/prelude/ITup5_p.hi12
-rw-r--r--ghc/lib/prelude/ITup5_t.hi12
-rw-r--r--ghc/lib/prelude/List.hi139
-rw-r--r--ghc/lib/prelude/List.hs799
-rw-r--r--ghc/lib/prelude/List_mc.hi139
-rw-r--r--ghc/lib/prelude/List_mg.hi139
-rw-r--r--ghc/lib/prelude/List_mp.hi139
-rw-r--r--ghc/lib/prelude/List_mr.hi139
-rw-r--r--ghc/lib/prelude/List_mt.hi139
-rw-r--r--ghc/lib/prelude/List_p.hi139
-rw-r--r--ghc/lib/prelude/List_t.hi139
-rw-r--r--ghc/lib/prelude/Merge.hi9
-rw-r--r--ghc/lib/prelude/Merge.lhs117
-rw-r--r--ghc/lib/prelude/Merge_mc.hi9
-rw-r--r--ghc/lib/prelude/Merge_mg.hi9
-rw-r--r--ghc/lib/prelude/Merge_mp.hi9
-rw-r--r--ghc/lib/prelude/Merge_p.hi9
-rw-r--r--ghc/lib/prelude/Merge_t.hi9
-rw-r--r--ghc/lib/prelude/PS.hi104
-rw-r--r--ghc/lib/prelude/PS.lhs681
-rw-r--r--ghc/lib/prelude/PS_mc.hi104
-rw-r--r--ghc/lib/prelude/PS_mg.hi104
-rw-r--r--ghc/lib/prelude/PS_mp.hi104
-rw-r--r--ghc/lib/prelude/PS_mr.hi104
-rw-r--r--ghc/lib/prelude/PS_mt.hi104
-rw-r--r--ghc/lib/prelude/PS_p.hi104
-rw-r--r--ghc/lib/prelude/PS_t.hi104
-rw-r--r--ghc/lib/prelude/Parallel.hi9
-rw-r--r--ghc/lib/prelude/Parallel.lhs35
-rw-r--r--ghc/lib/prelude/Parallel_mc.hi9
-rw-r--r--ghc/lib/prelude/Parallel_mg.hi9
-rw-r--r--ghc/lib/prelude/Parallel_mp.hi9
-rw-r--r--ghc/lib/prelude/Parallel_p.hi9
-rw-r--r--ghc/lib/prelude/Parallel_t.hi9
-rw-r--r--ghc/lib/prelude/Prel.hi87
-rw-r--r--ghc/lib/prelude/Prel.hs410
-rw-r--r--ghc/lib/prelude/Prel13.hi509
-rw-r--r--ghc/lib/prelude/Prel13.hs191
-rw-r--r--ghc/lib/prelude/Prel13_mc.hi509
-rw-r--r--ghc/lib/prelude/Prel13_mg.hi509
-rw-r--r--ghc/lib/prelude/Prel13_mp.hi509
-rw-r--r--ghc/lib/prelude/Prel13_mr.hi509
-rw-r--r--ghc/lib/prelude/Prel13_mt.hi509
-rw-r--r--ghc/lib/prelude/Prel13_p.hi509
-rw-r--r--ghc/lib/prelude/Prel13_t.hi509
-rw-r--r--ghc/lib/prelude/PrelCore13.hi994
-rw-r--r--ghc/lib/prelude/PrelCore13.hs69
-rw-r--r--ghc/lib/prelude/PrelCore13_mc.hi994
-rw-r--r--ghc/lib/prelude/PrelCore13_mg.hi994
-rw-r--r--ghc/lib/prelude/PrelCore13_mp.hi990
-rw-r--r--ghc/lib/prelude/PrelCore13_mr.hi994
-rw-r--r--ghc/lib/prelude/PrelCore13_mt.hi994
-rw-r--r--ghc/lib/prelude/PrelCore13_p.hi994
-rw-r--r--ghc/lib/prelude/PrelCore13_t.hi994
-rw-r--r--ghc/lib/prelude/PrelCoreHi.hs57
-rw-r--r--ghc/lib/prelude/Prel_mc.hi87
-rw-r--r--ghc/lib/prelude/Prel_mg.hi87
-rw-r--r--ghc/lib/prelude/Prel_mp.hi87
-rw-r--r--ghc/lib/prelude/Prel_mr.hi87
-rw-r--r--ghc/lib/prelude/Prel_mt.hi87
-rw-r--r--ghc/lib/prelude/Prel_p.hi87
-rw-r--r--ghc/lib/prelude/Prel_t.hi87
-rw-r--r--ghc/lib/prelude/Prelude.hi463
-rw-r--r--ghc/lib/prelude/PreludeCore.hi971
-rw-r--r--ghc/lib/prelude/PreludeCore_mc.hi971
-rw-r--r--ghc/lib/prelude/PreludeCore_mg.hi971
-rw-r--r--ghc/lib/prelude/PreludeCore_mp.hi967
-rw-r--r--ghc/lib/prelude/PreludeCore_mr.hi971
-rw-r--r--ghc/lib/prelude/PreludeCore_mt.hi971
-rw-r--r--ghc/lib/prelude/PreludeCore_p.hi971
-rw-r--r--ghc/lib/prelude/PreludeCore_t.hi971
-rw-r--r--ghc/lib/prelude/PreludeHi.hs97
-rw-r--r--ghc/lib/prelude/PreludeIO.hi137
-rw-r--r--ghc/lib/prelude/PreludeIO.lhs100
-rw-r--r--ghc/lib/prelude/PreludeIOError.hi14
-rw-r--r--ghc/lib/prelude/PreludeIOError.lhs107
-rw-r--r--ghc/lib/prelude/PreludeIOError_mc.hi14
-rw-r--r--ghc/lib/prelude/PreludeIOError_mg.hi14
-rw-r--r--ghc/lib/prelude/PreludeIOError_mp.hi14
-rw-r--r--ghc/lib/prelude/PreludeIOError_mr.hi14
-rw-r--r--ghc/lib/prelude/PreludeIOError_mt.hi14
-rw-r--r--ghc/lib/prelude/PreludeIOError_p.hi14
-rw-r--r--ghc/lib/prelude/PreludeIOError_t.hi14
-rw-r--r--ghc/lib/prelude/PreludeIO_mc.hi137
-rw-r--r--ghc/lib/prelude/PreludeIO_mg.hi137
-rw-r--r--ghc/lib/prelude/PreludeIO_mp.hi137
-rw-r--r--ghc/lib/prelude/PreludeIO_mr.hi137
-rw-r--r--ghc/lib/prelude/PreludeIO_mt.hi137
-rw-r--r--ghc/lib/prelude/PreludeIO_p.hi137
-rw-r--r--ghc/lib/prelude/PreludeIO_t.hi137
-rw-r--r--ghc/lib/prelude/PreludeMonadicIO.hi36
-rw-r--r--ghc/lib/prelude/PreludeMonadicIO.lhs204
-rw-r--r--ghc/lib/prelude/PreludeMonadicIO_mc.hi36
-rw-r--r--ghc/lib/prelude/PreludeMonadicIO_mg.hi36
-rw-r--r--ghc/lib/prelude/PreludeMonadicIO_mp.hi36
-rw-r--r--ghc/lib/prelude/PreludeMonadicIO_mr.hi36
-rw-r--r--ghc/lib/prelude/PreludeMonadicIO_mt.hi36
-rw-r--r--ghc/lib/prelude/PreludeMonadicIO_p.hi36
-rw-r--r--ghc/lib/prelude/PreludeMonadicIO_t.hi36
-rw-r--r--ghc/lib/prelude/PreludeNull_.hi4
-rw-r--r--ghc/lib/prelude/PreludeNull__1s.hi4
-rw-r--r--ghc/lib/prelude/PreludeNull__2s.hi4
-rw-r--r--ghc/lib/prelude/PreludeNull__du.hi4
-rw-r--r--ghc/lib/prelude/PreludeNull__i.hi4
-rw-r--r--ghc/lib/prelude/PreludeNull__j.hi4
-rw-r--r--ghc/lib/prelude/PreludeNull__k.hi4
-rw-r--r--ghc/lib/prelude/PreludeNull__l.hi4
-rw-r--r--ghc/lib/prelude/PreludeNull__m.hi4
-rw-r--r--ghc/lib/prelude/PreludeNull__mc.hi4
-rw-r--r--ghc/lib/prelude/PreludeNull__mg.hi4
-rw-r--r--ghc/lib/prelude/PreludeNull__mp.hi4
-rw-r--r--ghc/lib/prelude/PreludeNull__mr.hi4
-rw-r--r--ghc/lib/prelude/PreludeNull__mt.hi4
-rw-r--r--ghc/lib/prelude/PreludeNull__n.hi4
-rw-r--r--ghc/lib/prelude/PreludeNull__o.hi4
-rw-r--r--ghc/lib/prelude/PreludeNull__p.hi4
-rw-r--r--ghc/lib/prelude/PreludeNull__t.hi4
-rw-r--r--ghc/lib/prelude/PreludeReadTextIO.hi21
-rw-r--r--ghc/lib/prelude/PreludeReadTextIO.lhs311
-rw-r--r--ghc/lib/prelude/PreludeReadTextIO_mc.hi21
-rw-r--r--ghc/lib/prelude/PreludeReadTextIO_mg.hi21
-rw-r--r--ghc/lib/prelude/PreludeReadTextIO_mp.hi21
-rw-r--r--ghc/lib/prelude/PreludeReadTextIO_mr.hi21
-rw-r--r--ghc/lib/prelude/PreludeReadTextIO_mt.hi21
-rw-r--r--ghc/lib/prelude/PreludeReadTextIO_p.hi21
-rw-r--r--ghc/lib/prelude/PreludeReadTextIO_t.hi21
-rw-r--r--ghc/lib/prelude/PreludeStdIO.hi72
-rw-r--r--ghc/lib/prelude/PreludeStdIO.lhs918
-rw-r--r--ghc/lib/prelude/PreludeStdIO_mc.hi72
-rw-r--r--ghc/lib/prelude/PreludeStdIO_mg.hi72
-rw-r--r--ghc/lib/prelude/PreludeStdIO_mp.hi72
-rw-r--r--ghc/lib/prelude/PreludeStdIO_mr.hi72
-rw-r--r--ghc/lib/prelude/PreludeStdIO_mt.hi72
-rw-r--r--ghc/lib/prelude/PreludeStdIO_p.hi72
-rw-r--r--ghc/lib/prelude/PreludeStdIO_t.hi72
-rw-r--r--ghc/lib/prelude/PreludeWriteTextIO.hi27
-rw-r--r--ghc/lib/prelude/PreludeWriteTextIO.lhs190
-rw-r--r--ghc/lib/prelude/PreludeWriteTextIO_mc.hi27
-rw-r--r--ghc/lib/prelude/PreludeWriteTextIO_mg.hi27
-rw-r--r--ghc/lib/prelude/PreludeWriteTextIO_mp.hi27
-rw-r--r--ghc/lib/prelude/PreludeWriteTextIO_mr.hi27
-rw-r--r--ghc/lib/prelude/PreludeWriteTextIO_mt.hi27
-rw-r--r--ghc/lib/prelude/PreludeWriteTextIO_p.hi27
-rw-r--r--ghc/lib/prelude/PreludeWriteTextIO_t.hi27
-rw-r--r--ghc/lib/prelude/Prelude_mc.hi463
-rw-r--r--ghc/lib/prelude/Prelude_mg.hi463
-rw-r--r--ghc/lib/prelude/Prelude_mp.hi463
-rw-r--r--ghc/lib/prelude/Prelude_mr.hi463
-rw-r--r--ghc/lib/prelude/Prelude_mt.hi463
-rw-r--r--ghc/lib/prelude/Prelude_p.hi463
-rw-r--r--ghc/lib/prelude/Prelude_t.hi463
-rw-r--r--ghc/lib/prelude/SampleVar.hi15
-rw-r--r--ghc/lib/prelude/SampleVar.lhs95
-rw-r--r--ghc/lib/prelude/SampleVar_mc.hi15
-rw-r--r--ghc/lib/prelude/SampleVar_mg.hi15
-rw-r--r--ghc/lib/prelude/SampleVar_mp.hi15
-rw-r--r--ghc/lib/prelude/SampleVar_p.hi15
-rw-r--r--ghc/lib/prelude/SampleVar_t.hi15
-rw-r--r--ghc/lib/prelude/Semaphore.hi20
-rw-r--r--ghc/lib/prelude/Semaphore.lhs122
-rw-r--r--ghc/lib/prelude/Semaphore_mc.hi20
-rw-r--r--ghc/lib/prelude/Semaphore_mg.hi20
-rw-r--r--ghc/lib/prelude/Semaphore_mp.hi20
-rw-r--r--ghc/lib/prelude/Semaphore_p.hi20
-rw-r--r--ghc/lib/prelude/Semaphore_t.hi20
-rw-r--r--ghc/lib/prelude/Text.hi56
-rw-r--r--ghc/lib/prelude/Text.hs461
-rw-r--r--ghc/lib/prelude/Text_mc.hi56
-rw-r--r--ghc/lib/prelude/Text_mg.hi56
-rw-r--r--ghc/lib/prelude/Text_mp.hi56
-rw-r--r--ghc/lib/prelude/Text_mr.hi56
-rw-r--r--ghc/lib/prelude/Text_mt.hi56
-rw-r--r--ghc/lib/prelude/Text_p.hi56
-rw-r--r--ghc/lib/prelude/Text_t.hi56
-rw-r--r--ghc/lib/prelude/TyArray.hi10
-rw-r--r--ghc/lib/prelude/TyArray.hs27
-rw-r--r--ghc/lib/prelude/TyArray_mc.hi10
-rw-r--r--ghc/lib/prelude/TyArray_mg.hi10
-rw-r--r--ghc/lib/prelude/TyArray_mp.hi10
-rw-r--r--ghc/lib/prelude/TyArray_mr.hi10
-rw-r--r--ghc/lib/prelude/TyArray_mt.hi10
-rw-r--r--ghc/lib/prelude/TyArray_p.hi10
-rw-r--r--ghc/lib/prelude/TyArray_t.hi10
-rw-r--r--ghc/lib/prelude/TyBool.hs5
-rw-r--r--ghc/lib/prelude/TyComplex.hi4
-rw-r--r--ghc/lib/prelude/TyComplex.hs10
-rw-r--r--ghc/lib/prelude/TyComplex_mc.hi4
-rw-r--r--ghc/lib/prelude/TyComplex_mg.hi4
-rw-r--r--ghc/lib/prelude/TyComplex_mp.hi4
-rw-r--r--ghc/lib/prelude/TyComplex_mr.hi4
-rw-r--r--ghc/lib/prelude/TyComplex_mt.hi4
-rw-r--r--ghc/lib/prelude/TyComplex_p.hi4
-rw-r--r--ghc/lib/prelude/TyComplex_t.hi4
-rw-r--r--ghc/lib/prelude/TyIO.hi15
-rw-r--r--ghc/lib/prelude/TyIO.hs63
-rw-r--r--ghc/lib/prelude/TyIO_mc.hi15
-rw-r--r--ghc/lib/prelude/TyIO_mg.hi15
-rw-r--r--ghc/lib/prelude/TyIO_mp.hi15
-rw-r--r--ghc/lib/prelude/TyIO_mr.hi15
-rw-r--r--ghc/lib/prelude/TyIO_mt.hi15
-rw-r--r--ghc/lib/prelude/TyIO_p.hi15
-rw-r--r--ghc/lib/prelude/TyIO_t.hi15
-rw-r--r--ghc/lib/prelude/TyRatio.hs10
-rw-r--r--ghc/lib/prelude/TysBasic.hs204
-rw-r--r--ghc/lib/prelude/UTypes.hi9
-rw-r--r--ghc/lib/prelude/UTypes_1s.hi9
-rw-r--r--ghc/lib/prelude/UTypes_2s.hi9
-rw-r--r--ghc/lib/prelude/UTypes_du.hi9
-rw-r--r--ghc/lib/prelude/UTypes_i.hi9
-rw-r--r--ghc/lib/prelude/UTypes_j.hi9
-rw-r--r--ghc/lib/prelude/UTypes_k.hi9
-rw-r--r--ghc/lib/prelude/UTypes_l.hi9
-rw-r--r--ghc/lib/prelude/UTypes_m.hi9
-rw-r--r--ghc/lib/prelude/UTypes_mc.hi9
-rw-r--r--ghc/lib/prelude/UTypes_mg.hi9
-rw-r--r--ghc/lib/prelude/UTypes_mp.hi9
-rw-r--r--ghc/lib/prelude/UTypes_mr.hi9
-rw-r--r--ghc/lib/prelude/UTypes_mt.hi9
-rw-r--r--ghc/lib/prelude/UTypes_n.hi9
-rw-r--r--ghc/lib/prelude/UTypes_o.hi9
-rw-r--r--ghc/lib/prelude/UTypes_p.hi9
-rw-r--r--ghc/lib/prelude/UTypes_t.hi9
413 files changed, 48493 insertions, 0 deletions
diff --git a/ghc/lib/prelude/Builtin.hi b/ghc/lib/prelude/Builtin.hi
new file mode 100644
index 0000000000..c3960218db
--- /dev/null
+++ b/ghc/lib/prelude/Builtin.hi
@@ -0,0 +1,13 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+_runST :: (_State _RealWorld -> (b, a)) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_trace :: [Char] -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SL" _N_ _N_ #-}
+absent# :: a
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 1 0 X 2 _/\_ u0 -> _APP_ _TYAPP_ _ORIG_ PreludeBuiltin error { u0 } [ _NOREP_S_ "Oops! The program has entered an `absent' argument!\n" ] _N_ #-}
+error :: [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _N_ _N_ #-}
+patError# :: [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ _!_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Builtin.hs b/ghc/lib/prelude/Builtin.hs
new file mode 100644
index 0000000000..c710c9afaf
--- /dev/null
+++ b/ghc/lib/prelude/Builtin.hs
@@ -0,0 +1,114 @@
+module PreludeBuiltin (
+ _runST,
+ _trace,
+ absent#,
+ error,
+ patError#
+ ) where
+
+import Cls
+import Core
+import IInt
+import List ( (++), foldr, takeWhile )
+import TyArray ( Array(..) )
+import PreludeErrIO ( errorIO )
+import PreludeGlaST -- state transformer stuff
+import PreludeDialogueIO ( appendChan# )
+#ifndef __PARALLEL_HASKELL__
+import PreludeGlaMisc ( deRefStablePtr )
+#endif
+import PS ( _PackedString, _unpackPS )
+import Stdio ( _FILE )
+import Text
+
+---------------------------------------------------------------
+{- OLD:
+packCString# :: [Char] -> ByteArray#
+
+packCString# str = packString# str -- ToDo: more satisfactorily
+-}
+
+---------------------------------------------------------------
+-- ******** defns of `error' and `trace' using Glasgow IO *****
+-- No specialised versions are required for these bottoming Ids
+
+error :: String -> a
+error s = error__ ( \ x -> _ccall_ ErrorHdrHook x ) s
+
+error__ :: (_FILE -> PrimIO ()) -> String -> a
+
+error__ msg_hdr s
+#ifdef __PARALLEL_HASKELL__
+ = errorIO (msg_hdr sTDERR{-msg hdr-} `seqPrimIO`
+ _ccall_ fflush sTDERR `seqPrimIO`
+ appendChan# sTDERR s `seqPrimIO`
+ _ccall_ fflush sTDERR `seqPrimIO`
+ _ccall_ stg_exit (1::Int)
+ )
+#else
+ = errorIO (msg_hdr sTDERR{-msg hdr-} `seqPrimIO`
+ _ccall_ fflush sTDERR `seqPrimIO`
+ appendChan# sTDERR s `seqPrimIO`
+ _ccall_ fflush sTDERR `seqPrimIO`
+ _ccall_ getErrorHandler `thenPrimIO` \ errorHandler ->
+ if errorHandler == (-1::Int)
+ then _ccall_ stg_exit (1::Int)
+ else
+ _casm_ ``%r = (StgStablePtr)(%0);'' errorHandler
+ `thenPrimIO` \ osptr ->
+ _ccall_ decrementErrorCount `thenPrimIO` \ () ->
+ deRefStablePtr osptr `thenPrimIO` \ oact ->
+ oact
+ )
+#endif {- !parallel -}
+ where
+ sTDERR = (``stderr'' :: _FILE)
+
+absent# = error "Oops! The program has entered an `absent' argument!\n"
+
+---------------------------------------------------------------
+_runST m = case m (S# realWorld#) of
+ (r,_) -> r
+
+---------------------------------------------------------------
+-- Used for compiler-generated error message;
+-- encoding saves bytes of string junk.
+
+patError# :: String -> a
+
+patError# encoded_msg
+ = error__ (\ x -> _ccall_ PatErrorHdrHook x) (expand (encoded_msg ++ "\n"))
+ where
+ expand [] = []
+ expand ('%':next:rest)
+ = let
+ decoded
+ = case next of
+ '%' -> "%"
+ 'D' -> "No default method for \""
+ 'N' -> ": non-exhaustive guards"
+ 'F' -> "incomplete pattern(s) to match in function \""
+ 'L' -> "pattern-matching failed in lambda"
+ 'C' -> "pattern-matching failed in case"
+ '~' -> ": pattern-match failed on an irrefutable pattern"
+ 'l' -> "\", line "
+ _ -> error ("BAD call to builtin patError#:" ++ (next:rest))
+ in
+ decoded ++ expand rest
+
+ expand (c:rest) = c : expand rest
+
+---------------------------------------------------------------
+-- ******** defn of `_trace' using Glasgow IO *******
+
+--{-# GENERATE_SPECS _trace a #-}
+_trace :: String -> a -> a
+
+_trace string expr
+ = unsafePerformPrimIO (
+ ((_ccall_ PreTraceHook sTDERR{-msg-})::PrimIO ()) `seqPrimIO`
+ appendChan# sTDERR string `seqPrimIO`
+ ((_ccall_ PostTraceHook sTDERR{-msg-})::PrimIO ()) `seqPrimIO`
+ returnPrimIO expr )
+ where
+ sTDERR = (``stderr'' :: _FILE)
diff --git a/ghc/lib/prelude/Builtin_mc.hi b/ghc/lib/prelude/Builtin_mc.hi
new file mode 100644
index 0000000000..c3960218db
--- /dev/null
+++ b/ghc/lib/prelude/Builtin_mc.hi
@@ -0,0 +1,13 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+_runST :: (_State _RealWorld -> (b, a)) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_trace :: [Char] -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SL" _N_ _N_ #-}
+absent# :: a
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 1 0 X 2 _/\_ u0 -> _APP_ _TYAPP_ _ORIG_ PreludeBuiltin error { u0 } [ _NOREP_S_ "Oops! The program has entered an `absent' argument!\n" ] _N_ #-}
+error :: [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _N_ _N_ #-}
+patError# :: [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ _!_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Builtin_mg.hi b/ghc/lib/prelude/Builtin_mg.hi
new file mode 100644
index 0000000000..c3960218db
--- /dev/null
+++ b/ghc/lib/prelude/Builtin_mg.hi
@@ -0,0 +1,13 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+_runST :: (_State _RealWorld -> (b, a)) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_trace :: [Char] -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SL" _N_ _N_ #-}
+absent# :: a
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 1 0 X 2 _/\_ u0 -> _APP_ _TYAPP_ _ORIG_ PreludeBuiltin error { u0 } [ _NOREP_S_ "Oops! The program has entered an `absent' argument!\n" ] _N_ #-}
+error :: [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _N_ _N_ #-}
+patError# :: [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ _!_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Builtin_mp.hi b/ghc/lib/prelude/Builtin_mp.hi
new file mode 100644
index 0000000000..c3960218db
--- /dev/null
+++ b/ghc/lib/prelude/Builtin_mp.hi
@@ -0,0 +1,13 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+_runST :: (_State _RealWorld -> (b, a)) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_trace :: [Char] -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SL" _N_ _N_ #-}
+absent# :: a
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 1 0 X 2 _/\_ u0 -> _APP_ _TYAPP_ _ORIG_ PreludeBuiltin error { u0 } [ _NOREP_S_ "Oops! The program has entered an `absent' argument!\n" ] _N_ #-}
+error :: [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _N_ _N_ #-}
+patError# :: [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ _!_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Builtin_mr.hi b/ghc/lib/prelude/Builtin_mr.hi
new file mode 100644
index 0000000000..c3960218db
--- /dev/null
+++ b/ghc/lib/prelude/Builtin_mr.hi
@@ -0,0 +1,13 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+_runST :: (_State _RealWorld -> (b, a)) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_trace :: [Char] -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SL" _N_ _N_ #-}
+absent# :: a
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 1 0 X 2 _/\_ u0 -> _APP_ _TYAPP_ _ORIG_ PreludeBuiltin error { u0 } [ _NOREP_S_ "Oops! The program has entered an `absent' argument!\n" ] _N_ #-}
+error :: [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _N_ _N_ #-}
+patError# :: [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ _!_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Builtin_mt.hi b/ghc/lib/prelude/Builtin_mt.hi
new file mode 100644
index 0000000000..c3960218db
--- /dev/null
+++ b/ghc/lib/prelude/Builtin_mt.hi
@@ -0,0 +1,13 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+_runST :: (_State _RealWorld -> (b, a)) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_trace :: [Char] -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SL" _N_ _N_ #-}
+absent# :: a
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 1 0 X 2 _/\_ u0 -> _APP_ _TYAPP_ _ORIG_ PreludeBuiltin error { u0 } [ _NOREP_S_ "Oops! The program has entered an `absent' argument!\n" ] _N_ #-}
+error :: [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _N_ _N_ #-}
+patError# :: [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ _!_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Builtin_p.hi b/ghc/lib/prelude/Builtin_p.hi
new file mode 100644
index 0000000000..c3960218db
--- /dev/null
+++ b/ghc/lib/prelude/Builtin_p.hi
@@ -0,0 +1,13 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+_runST :: (_State _RealWorld -> (b, a)) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_trace :: [Char] -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SL" _N_ _N_ #-}
+absent# :: a
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 1 0 X 2 _/\_ u0 -> _APP_ _TYAPP_ _ORIG_ PreludeBuiltin error { u0 } [ _NOREP_S_ "Oops! The program has entered an `absent' argument!\n" ] _N_ #-}
+error :: [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _N_ _N_ #-}
+patError# :: [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ _!_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Builtin_t.hi b/ghc/lib/prelude/Builtin_t.hi
new file mode 100644
index 0000000000..c3960218db
--- /dev/null
+++ b/ghc/lib/prelude/Builtin_t.hi
@@ -0,0 +1,13 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+_runST :: (_State _RealWorld -> (b, a)) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_trace :: [Char] -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SL" _N_ _N_ #-}
+absent# :: a
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 1 0 X 2 _/\_ u0 -> _APP_ _TYAPP_ _ORIG_ PreludeBuiltin error { u0 } [ _NOREP_S_ "Oops! The program has entered an `absent' argument!\n" ] _N_ #-}
+error :: [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _N_ _N_ #-}
+patError# :: [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ _!_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Channel.hi b/ghc/lib/prelude/Channel.hi
new file mode 100644
index 0000000000..dee15c0193
--- /dev/null
+++ b/ghc/lib/prelude/Channel.hi
@@ -0,0 +1,19 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Channel where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data Chan a
+dupChan :: Chan a -> _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AL)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+getChan :: Chan a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)A)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+getChanContents :: Chan a -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+newChan :: _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AL)LU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+unGetChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(LA)LU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Channel.lhs b/ghc/lib/prelude/Channel.lhs
new file mode 100644
index 0000000000..4019287596
--- /dev/null
+++ b/ghc/lib/prelude/Channel.lhs
@@ -0,0 +1,120 @@
+%
+% (c) The GRASP/AQUA Project, Glasgow University, 1995
+%
+\section[Channel]{Unbounded Channels}
+
+Standard, unbounded channel abstraction.
+
+\begin{code}
+module Channel
+ (
+ {- abstract -}
+ Chan,
+
+ newChan, -- :: IO (Chan a)
+ putChan, -- :: Chan a -> a -> IO ()
+ getChan, -- :: Chan a -> IO a
+ dupChan, -- :: Chan a -> IO (Chan a)
+ unGetChan, -- :: Chan a -> a -> IO ()
+ getChanContents -- :: Chan a -> IO [a]
+
+ ) where
+
+import PreludeGlaST
+import PreludePrimIO ( newEmptyMVar, newMVar, putMVar,
+ readMVar, takeMVar, _MVar
+ )
+\end{code}
+
+A channel is represented by two @MVar@s keeping track of the two ends
+of the channel contents,i.e., the read- and write ends. Empty @MVar@s
+are used to handle consumers trying to read from an empty channel.
+
+\begin{code}
+
+data Chan a
+ = Chan (_MVar (Stream a))
+ (_MVar (Stream a))
+
+type Stream a = _MVar (ChItem a)
+
+data ChItem a = ChItem a (Stream a)
+
+
+\end{code}
+
+See the Concurrent Haskell paper for a diagram explaining the
+how the different channel operations proceed.
+
+@newChan@ sets up the read and write end of a channel by initialising
+these two @MVar@s with an empty @MVar@.
+
+\begin{code}
+
+newChan :: IO (Chan a)
+newChan
+ = newEmptyMVar >>= \ hole ->
+ newMVar hole >>= \ read ->
+ newMVar hole >>= \ write ->
+ return (Chan read write)
+
+\end{code}
+
+To put an element on a channel, a new hole at the write end is created.
+What was previously the empty @MVar@ at the back of the channel is then
+filled in with a new stream element holding the entered value and the
+new hole.
+
+\begin{code}
+
+putChan :: Chan a -> a -> IO ()
+putChan (Chan read write) val
+ = newEmptyMVar >>= \ new_hole ->
+ takeMVar write >>= \ old_hole ->
+ putMVar write new_hole >>
+ putMVar old_hole (ChItem val new_hole) >>
+ return ()
+
+\end{code}
+
+\begin{code}
+
+getChan :: Chan a -> IO a
+getChan (Chan read write)
+ = takeMVar read >>= \ rend ->
+ takeMVar rend >>= \ (ChItem val new_rend) ->
+ putMVar read new_rend >>
+ return val
+
+\end{code}
+
+\begin{code}
+
+dupChan :: Chan a -> IO (Chan a)
+dupChan (Chan read write)
+ = newEmptyMVar >>= \ new_read ->
+ readMVar write >>= \ hole ->
+ putMVar new_read hole >>
+ return (Chan new_read write)
+
+unGetChan :: Chan a -> a -> IO ()
+unGetChan (Chan read write) val
+ = newEmptyMVar >>= \ new_rend ->
+ takeMVar read >>= \ rend ->
+ putMVar new_rend (ChItem val rend) >>
+ putMVar read new_rend >>
+ return ()
+
+\end{code}
+
+\begin{code}
+
+getChanContents :: Chan a -> IO [a]
+getChanContents ch
+ = unsafeInterleavePrimIO (
+ getChan ch) `thenPrimIO` \ ~(Right x) ->
+ unsafeInterleavePrimIO (
+ getChanContents ch) `thenPrimIO` \ ~(Right xs) ->
+ return (x:xs)
+
+\end{code}
diff --git a/ghc/lib/prelude/ChannelVar.hi b/ghc/lib/prelude/ChannelVar.hi
new file mode 100644
index 0000000000..af3d1db3ff
--- /dev/null
+++ b/ghc/lib/prelude/ChannelVar.hi
@@ -0,0 +1,14 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface ChannelVar where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data CVar a {-# GHC_PRAGMA CVar (_MVar a) (_MVar ()) #-}
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+getCVar :: CVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newCVar :: _State _RealWorld -> (Either IOError13 (CVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putCVar :: CVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(LU(P))LU(P)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ChannelVar.lhs b/ghc/lib/prelude/ChannelVar.lhs
new file mode 100644
index 0000000000..d10721e96b
--- /dev/null
+++ b/ghc/lib/prelude/ChannelVar.lhs
@@ -0,0 +1,58 @@
+%
+% (c) The GRASP/AQUA Project, Glasgow University, 1995
+%
+\section[ChannelVar]{Channel variables}
+
+Channel variables, are one-element channels described in the Concurrent
+Haskell paper (available from @ftp://ftp.dcs.gla.ac.uk/pub/glasgow-fp/drafts@)
+
+\begin{code}
+module ChannelVar
+ (
+ {- abstract -}
+ CVar,
+ newCVar, --:: IO (CVar a)
+ putCVar, --:: CVar a -> a -> IO ()
+ getCVar, --:: CVar a -> IO a
+ _MVar
+
+ ) where
+
+import PreludeGlaST
+import PreludePrimIO ( newEmptyMVar, newMVar, putMVar,
+ readMVar, takeMVar, _MVar
+ )
+\end{code}
+
+@MVars@ provide the basic mechanisms for synchronising access to a shared
+resource. @CVars@, or channel variables, provide an abstraction that guarantee
+that the producer is not allowed to run riot, but enforces the interleaved
+access to the channel variable,i.e., a producer is forced to wait up for
+a consumer to remove the previous value before it can deposit a new one in the @CVar@.
+
+\begin{code}
+
+data CVar a
+ = CVar (_MVar a) -- prod -> cons
+ (_MVar ()) -- cons -> prod
+
+newCVar :: IO (CVar a)
+putCVar :: CVar a -> a -> IO ()
+getCVar :: CVar a -> IO a
+
+newCVar
+ = newEmptyMVar >>= \ datum ->
+ newMVar () >>= \ ack ->
+ return (CVar datum ack)
+
+putCVar (CVar datum ack) val
+ = takeMVar ack >>
+ putMVar datum val >>
+ return ()
+
+getCVar (CVar datum ack)
+ = takeMVar datum >>= \ val ->
+ putMVar ack () >>
+ return val
+
+\end{code}
diff --git a/ghc/lib/prelude/ChannelVar_mc.hi b/ghc/lib/prelude/ChannelVar_mc.hi
new file mode 100644
index 0000000000..af3d1db3ff
--- /dev/null
+++ b/ghc/lib/prelude/ChannelVar_mc.hi
@@ -0,0 +1,14 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface ChannelVar where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data CVar a {-# GHC_PRAGMA CVar (_MVar a) (_MVar ()) #-}
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+getCVar :: CVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newCVar :: _State _RealWorld -> (Either IOError13 (CVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putCVar :: CVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(LU(P))LU(P)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ChannelVar_mg.hi b/ghc/lib/prelude/ChannelVar_mg.hi
new file mode 100644
index 0000000000..af3d1db3ff
--- /dev/null
+++ b/ghc/lib/prelude/ChannelVar_mg.hi
@@ -0,0 +1,14 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface ChannelVar where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data CVar a {-# GHC_PRAGMA CVar (_MVar a) (_MVar ()) #-}
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+getCVar :: CVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newCVar :: _State _RealWorld -> (Either IOError13 (CVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putCVar :: CVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(LU(P))LU(P)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ChannelVar_mp.hi b/ghc/lib/prelude/ChannelVar_mp.hi
new file mode 100644
index 0000000000..af3d1db3ff
--- /dev/null
+++ b/ghc/lib/prelude/ChannelVar_mp.hi
@@ -0,0 +1,14 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface ChannelVar where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data CVar a {-# GHC_PRAGMA CVar (_MVar a) (_MVar ()) #-}
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+getCVar :: CVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newCVar :: _State _RealWorld -> (Either IOError13 (CVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putCVar :: CVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(LU(P))LU(P)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ChannelVar_p.hi b/ghc/lib/prelude/ChannelVar_p.hi
new file mode 100644
index 0000000000..af3d1db3ff
--- /dev/null
+++ b/ghc/lib/prelude/ChannelVar_p.hi
@@ -0,0 +1,14 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface ChannelVar where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data CVar a {-# GHC_PRAGMA CVar (_MVar a) (_MVar ()) #-}
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+getCVar :: CVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newCVar :: _State _RealWorld -> (Either IOError13 (CVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putCVar :: CVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(LU(P))LU(P)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ChannelVar_t.hi b/ghc/lib/prelude/ChannelVar_t.hi
new file mode 100644
index 0000000000..af3d1db3ff
--- /dev/null
+++ b/ghc/lib/prelude/ChannelVar_t.hi
@@ -0,0 +1,14 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface ChannelVar where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data CVar a {-# GHC_PRAGMA CVar (_MVar a) (_MVar ()) #-}
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+getCVar :: CVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newCVar :: _State _RealWorld -> (Either IOError13 (CVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putCVar :: CVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(LU(P))LU(P)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Channel_mc.hi b/ghc/lib/prelude/Channel_mc.hi
new file mode 100644
index 0000000000..dee15c0193
--- /dev/null
+++ b/ghc/lib/prelude/Channel_mc.hi
@@ -0,0 +1,19 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Channel where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data Chan a
+dupChan :: Chan a -> _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AL)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+getChan :: Chan a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)A)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+getChanContents :: Chan a -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+newChan :: _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AL)LU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+unGetChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(LA)LU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Channel_mg.hi b/ghc/lib/prelude/Channel_mg.hi
new file mode 100644
index 0000000000..dee15c0193
--- /dev/null
+++ b/ghc/lib/prelude/Channel_mg.hi
@@ -0,0 +1,19 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Channel where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data Chan a
+dupChan :: Chan a -> _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AL)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+getChan :: Chan a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)A)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+getChanContents :: Chan a -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+newChan :: _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AL)LU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+unGetChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(LA)LU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Channel_mp.hi b/ghc/lib/prelude/Channel_mp.hi
new file mode 100644
index 0000000000..dee15c0193
--- /dev/null
+++ b/ghc/lib/prelude/Channel_mp.hi
@@ -0,0 +1,19 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Channel where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data Chan a
+dupChan :: Chan a -> _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AL)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+getChan :: Chan a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)A)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+getChanContents :: Chan a -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+newChan :: _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AL)LU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+unGetChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(LA)LU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Channel_p.hi b/ghc/lib/prelude/Channel_p.hi
new file mode 100644
index 0000000000..dee15c0193
--- /dev/null
+++ b/ghc/lib/prelude/Channel_p.hi
@@ -0,0 +1,19 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Channel where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data Chan a
+dupChan :: Chan a -> _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AL)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+getChan :: Chan a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)A)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+getChanContents :: Chan a -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+newChan :: _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AL)LU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+unGetChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(LA)LU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Channel_t.hi b/ghc/lib/prelude/Channel_t.hi
new file mode 100644
index 0000000000..dee15c0193
--- /dev/null
+++ b/ghc/lib/prelude/Channel_t.hi
@@ -0,0 +1,19 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Channel where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data Chan a
+dupChan :: Chan a -> _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AL)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+getChan :: Chan a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)A)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+getChanContents :: Chan a -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+newChan :: _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AL)LU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+unGetChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(LA)LU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Cls.hi b/ghc/lib/prelude/Cls.hi
new file mode 100644
index 0000000000..0700995075
--- /dev/null
+++ b/ghc/lib/prelude/Cls.hi
@@ -0,0 +1,248 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple2, _CMP_TAG(..))
+import PreludeRatio(Ratio(..))
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(SA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Bin -> (u0, Bin)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bin -> Bin) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLL)AAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Ord u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LSAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "U(AAAAS)" {_A_ 1 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "U(LASAA)LLL" {_A_ 5 _U_ 11222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(SA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(SA)LL" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLL)AAAAAAAAAAAAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0 -> u0 -> u0) (u3 :: u0 -> u0) (u4 :: Ratio Integer -> u0) -> _!_ _TUP_4 [{{Num u0}}, (u0 -> u0 -> u0), (u0 -> u0), (Ratio Integer -> u0)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "U(ASAAAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASAAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAASAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAASAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(LAAAASAAAAAAAAAAAAA)" {_A_ 2 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAAAAAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LASLAAAAAAAAAAAAAAA)LL" {_A_ 5 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAAAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(U(ASAA)AALAAAAAAAAAAAAAAA)LL" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAASAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(U(ASAA)AAAAAALLAAAAAAAAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAASAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAASAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAASAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAASAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(U(ASAA)AAAAAAAAAAAALLAAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLLLL)AAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAL)" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Ratio Integer -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLL)AAAAAAAAAAA)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: {{Enum u0}}) (u3 :: u0 -> Ratio Integer) -> _!_ _TUP_3 [{{Num u0}}, {{Enum u0}}, (u0 -> Ratio Integer)] [u1, u2, u3] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: (u0, u0) -> [u0]) (u3 :: (u0, u0) -> u0 -> Int) (u4 :: (u0, u0) -> u0 -> Bool) -> _!_ _TUP_4 [{{Ord u0}}, ((u0, u0) -> [u0]), ((u0, u0) -> u0 -> Int), ((u0, u0) -> u0 -> Bool)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)ALLALALLA)AA)AAAAALAAAAA)" {_A_ 2 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(U(U(U(SA)AAAAAAALA)AA)AALAAAAAAAA)" {_A_ 3 _U_ 1212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(U(U(U(AS)AAAAAAALA)AA)AALAAAAAAAA)" {_A_ 3 _U_ 1212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLL)AAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Ord u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)AAAAAAAAA)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0 -> u0 -> Bool) -> _!_ _TUP_2 [(u0 -> u0 -> Bool), (u0 -> u0 -> Bool)] [u1, u2] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: Int -> [Char] -> [(u0, [Char])]) (u2 :: Int -> u0 -> [Char] -> [Char]) (u3 :: [Char] -> [([u0], [Char])]) (u4 :: [u0] -> [Char] -> [Char]) -> _!_ _TUP_4 [(Int -> [Char] -> [(u0, [Char])]), (Int -> u0 -> [Char] -> [Char]), ([Char] -> [([u0], [Char])]), ([u0] -> [Char] -> [Char])] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAALAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 6 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0 -> u0) (u3 :: u0) (u4 :: u0) -> let {(u5 :: u0) = _APP_ u2 [ u4 ]} in _APP_ u1 [ u3, u5 ] _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Integer -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "U(AAAAAAAASA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 1 2 XC 5 _/\_ u0 -> \ (u1 :: Integer -> u0) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in _APP_ u1 [ u4 ] _N_} _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)AAAAAAA)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0 -> u0 -> Bool) -> _!_ _TUP_2 [(u0 -> u0 -> Bool), (u0 -> u0 -> Bool)] [u1, u2] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(ASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LASAAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(ASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAA)LL" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAAAAA)LL" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> _CMP_TAG) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(U(SA)LAAAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLLLL)AA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLLL)A)" {_A_ 5 _U_ 22222 _N_ _N_ _F_ _IF_ARGS_ 1 5 XXXXX 6 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0 -> [u0]) (u3 :: u0 -> u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> u0 -> [u0]) -> _!_ _TUP_5 [{{Ord u0}}, (u0 -> [u0]), (u0 -> u0 -> [u0]), (u0 -> u0 -> [u0]), (u0 -> u0 -> u0 -> [u0])] [u1, u2, u3, u4, u5] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Ratio Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLL)AAAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{RealFrac u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLLLLLLLLLLLLLLLLL)AAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAASAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAASAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> (Int, Int)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> (Integer, Int)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Integer -> Int -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(AAALASAAAA)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(AAALALSAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAAAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "U(AAAAALSAAA)LL" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLL)AAAAAA)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: {{Enum u0}}) (u3 :: u0 -> Ratio Integer) -> _!_ _TUP_3 [{{Num u0}}, {{Enum u0}}, (u0 -> Ratio Integer)] [u1, u2, u3] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0 -> u0 -> u0) (u3 :: u0 -> u0) (u4 :: Ratio Integer -> u0) -> _!_ _TUP_4 [{{Num u0}}, (u0 -> u0 -> u0), (u0 -> u0), (Ratio Integer -> u0)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAASAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAASAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAAASA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAAAAS)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> [Char] -> [(u0, [Char])]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0 -> [Char] -> [Char]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: [Char] -> [([u0], [Char])]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: [u0] -> [Char] -> [Char]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Bin
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Cls.hs b/ghc/lib/prelude/Cls.hs
new file mode 100644
index 0000000000..f8766fab44
--- /dev/null
+++ b/ghc/lib/prelude/Cls.hs
@@ -0,0 +1,200 @@
+module PreludeCore (
+ Eq(..), Ord(..), Num(..), Real(..), Integral(..),
+ Fractional(..), Floating(..), RealFrac(..), RealFloat(..),
+ Ix(..), Enum(..), Text(..), Binary(..),
+ _CCallable(..), _CReturnable(..),
+ Bin
+ ) where
+
+import UTypes
+
+import Core
+import IInt ( Int )
+import IInteger ( int2Integer, Integer )
+import List ( takeWhile, (++), foldr )
+import Prel ( (&&), (.), otherwise )
+import PS ( _PackedString, _unpackPS )
+import Text
+
+{- We have to do something unpleasant about overloaded constants
+ herein. Those constants are automagically wrapped in applications
+ of the *BUILT-IN* from{Integer,Rational} Ids.
+
+ Those are *NOT* the same methods as those being compiled here!
+ (The builtin class information is "turned off" for compiling this
+ file, but that does not help w/ the from{Integer,Rational} Ids,
+ which are reached-out-and-grabbed from thin air.
+
+ We can subvert this process by wrapping the constants in explicit
+ from{Integer,Rational} calls (the ones defined herein). I have put
+ in a little CPPery, just to reduce typing.
+-}
+
+-- class declarations from PreludeCore
+
+class Eq a where
+ (==), (/=) :: a -> a -> Bool
+
+ x /= y = if x == y then False else True
+
+class (Eq a) => Ord a where
+ (<), (<=), (>=), (>):: a -> a -> Bool
+ max, min :: a -> a -> a
+ -- NON-STANDARD GLASGOW ADDITION:
+ _tagCmp :: a -> a -> _CMP_TAG
+
+ x < y = x <= y && x /= y
+ x >= y = y <= x
+ x > y = y < x
+ max x y | x >= y = x
+ | y >= x = y
+ |otherwise = error "max{PreludeCore}: no ordering relation\n"
+ min x y | x <= y = x
+ | y <= x = y
+ |otherwise = error "min{PreludeCore}: no ordering relation\n"
+ _tagCmp a b = if a == b then _EQ else if a < b then _LT else _GT
+
+class (Eq a, Text a) => Num a where
+ (+), (-), (*) :: a -> a -> a
+ negate :: a -> a
+ abs, signum :: a -> a
+ fromInteger :: Integer -> a
+ fromInt :: Int -> a -- partain: extra! (see note below)
+
+ x - y = x + negate y
+ fromInt i = fromInteger (int2Integer i)
+ -- Go via the standard class-op if the
+ -- non-standard one ain't provided
+
+{-
+Note: Both GHC and HBC provide an extra class operation in @Num@,
+namely @fromInt@. This makes small overloaded literal constants, such
+as ``42'', much more efficient. Instead of building the @Integer@ for
+``42'' and then converting that expensively to the desired type, we
+can then just make the @Int@ for ``42'' and convert that to the
+desired type.
+-}
+
+class (Num a, Enum a) => Real a where
+ toRational :: a -> Rational
+
+class (Real a, Ix a) => Integral a where
+ quot, rem, div, mod :: a -> a -> a
+ quotRem, divMod :: a -> a -> (a,a)
+ even, odd :: a -> Bool
+ toInteger :: a -> Integer
+ toInt :: a -> Int -- partain: also extra (as above)
+
+ n `quot` d = q where (q,r) = quotRem n d
+ n `rem` d = r where (q,r) = quotRem n d
+ n `div` d = q where (q,r) = divMod n d
+ n `mod` d = r where (q,r) = divMod n d
+ divMod n d = if signum r == - signum d then (q - i1__, r+d) else qr
+ where qr@(q,r) = quotRem n d
+ even n = n `rem` i2__ == i0__
+ odd n = n `rem` i2__ /= i0__
+
+class (Num a) => Fractional a where
+ (/) :: a -> a -> a
+ recip :: a -> a
+ fromRational :: Rational -> a
+
+ recip x = r1__ / x
+
+class (Fractional a) => Floating a where
+ pi :: a
+ exp, log, sqrt :: a -> a
+ (**), logBase :: a -> a -> a
+ sin, cos, tan :: a -> a
+ asin, acos, atan :: a -> a
+ sinh, cosh, tanh :: a -> a
+ asinh, acosh, atanh :: a -> a
+
+ x ** y = exp (log x * y)
+ logBase x y = log y / log x
+ sqrt x = x ** rhalf__
+ tan x = sin x / cos x
+ tanh x = sinh x / cosh x
+
+class (Real a, Fractional a) => RealFrac a where
+ properFraction :: (Integral b) => a -> (b,a)
+ truncate, round :: (Integral b) => a -> b
+ ceiling, floor :: (Integral b) => a -> b
+
+ -- just call the versions in Core.hs
+ truncate x = _truncate x
+ round x = _round x
+ ceiling x = _ceiling x
+ floor x = _floor x
+
+class (RealFrac a, Floating a) => RealFloat a where
+ floatRadix :: a -> Integer
+ floatDigits :: a -> Int
+ floatRange :: a -> (Int,Int)
+ decodeFloat :: a -> (Integer,Int)
+ encodeFloat :: Integer -> Int -> a
+ exponent :: a -> Int
+ significand :: a -> a
+ scaleFloat :: Int -> a -> a
+
+ exponent x = if m == i0__ then i0__ else n + floatDigits x
+ where (m,n) = decodeFloat x
+
+ significand x = encodeFloat m (- (floatDigits x))
+ where (m,_) = decodeFloat x
+
+ scaleFloat k x = encodeFloat m (n+k)
+ where (m,n) = decodeFloat x
+
+class (Ord a) => Ix a where
+ range :: (a,a) -> [a]
+ index :: (a,a) -> a -> Int
+ inRange :: (a,a) -> a -> Bool
+
+class (Ord a) => Enum a where
+ enumFrom :: a -> [a] -- [n..]
+ enumFromThen :: a -> a -> [a] -- [n,m..]
+ enumFromTo :: a -> a -> [a] -- [n..m]
+ enumFromThenTo :: a -> a -> a -> [a] -- [n,m..p]
+
+ enumFromTo n m = takeWhile (<= m) (enumFrom n)
+ enumFromThenTo n m p = takeWhile (if m >= n then (<= p) else (>= p))
+ (enumFromThen n m)
+
+class Text a where
+ readsPrec :: Int -> ReadS a
+ showsPrec :: Int -> a -> ShowS
+ readList :: ReadS [a]
+ showList :: [a] -> ShowS
+
+ readList = _readList
+ showList = _showList
+{-MOVED to Core.hs:
+ readList = readParen False (\r -> [pr | ("[",s) <- lex r,
+ pr <- readl s])
+ where readl s = [([],t) | ("]",t) <- lex s] ++
+ [(x:xs,u) | (x,t) <- reads s,
+ (xs,u) <- readl2 t]
+ readl2 s = [([],t) | ("]",t) <- lex s] ++
+ [(x:xs,v) | (",",t) <- lex s,
+ (x,u) <- reads t,
+ (xs,v) <- readl2 u]
+ showList [] = showString "[]"
+ showList (x:xs)
+ = showChar '[' . shows x . showl xs
+ where showl [] = showChar ']'
+ showl (x:xs) = showString ", " . shows x . showl xs
+-}
+
+-- Well, we've got to put it somewhere...
+
+instance Text (a -> b) where
+ readsPrec p s = error "readsPrec{PreludeCore}: Cannot read functions."
+ showsPrec p f = showString "<<function>>"
+
+class Binary a where
+ readBin :: Bin -> (a,Bin)
+ showBin :: a -> Bin -> Bin
+
+class _CCallable a
+class _CReturnable a
diff --git a/ghc/lib/prelude/Cls_mc.hi b/ghc/lib/prelude/Cls_mc.hi
new file mode 100644
index 0000000000..0700995075
--- /dev/null
+++ b/ghc/lib/prelude/Cls_mc.hi
@@ -0,0 +1,248 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple2, _CMP_TAG(..))
+import PreludeRatio(Ratio(..))
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(SA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Bin -> (u0, Bin)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bin -> Bin) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLL)AAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Ord u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LSAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "U(AAAAS)" {_A_ 1 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "U(LASAA)LLL" {_A_ 5 _U_ 11222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(SA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(SA)LL" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLL)AAAAAAAAAAAAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0 -> u0 -> u0) (u3 :: u0 -> u0) (u4 :: Ratio Integer -> u0) -> _!_ _TUP_4 [{{Num u0}}, (u0 -> u0 -> u0), (u0 -> u0), (Ratio Integer -> u0)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "U(ASAAAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASAAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAASAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAASAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(LAAAASAAAAAAAAAAAAA)" {_A_ 2 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAAAAAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LASLAAAAAAAAAAAAAAA)LL" {_A_ 5 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAAAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(U(ASAA)AALAAAAAAAAAAAAAAA)LL" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAASAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(U(ASAA)AAAAAALLAAAAAAAAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAASAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAASAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAASAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAASAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(U(ASAA)AAAAAAAAAAAALLAAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLLLL)AAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAL)" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Ratio Integer -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLL)AAAAAAAAAAA)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: {{Enum u0}}) (u3 :: u0 -> Ratio Integer) -> _!_ _TUP_3 [{{Num u0}}, {{Enum u0}}, (u0 -> Ratio Integer)] [u1, u2, u3] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: (u0, u0) -> [u0]) (u3 :: (u0, u0) -> u0 -> Int) (u4 :: (u0, u0) -> u0 -> Bool) -> _!_ _TUP_4 [{{Ord u0}}, ((u0, u0) -> [u0]), ((u0, u0) -> u0 -> Int), ((u0, u0) -> u0 -> Bool)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)ALLALALLA)AA)AAAAALAAAAA)" {_A_ 2 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(U(U(U(SA)AAAAAAALA)AA)AALAAAAAAAA)" {_A_ 3 _U_ 1212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(U(U(U(AS)AAAAAAALA)AA)AALAAAAAAAA)" {_A_ 3 _U_ 1212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLL)AAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Ord u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)AAAAAAAAA)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0 -> u0 -> Bool) -> _!_ _TUP_2 [(u0 -> u0 -> Bool), (u0 -> u0 -> Bool)] [u1, u2] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: Int -> [Char] -> [(u0, [Char])]) (u2 :: Int -> u0 -> [Char] -> [Char]) (u3 :: [Char] -> [([u0], [Char])]) (u4 :: [u0] -> [Char] -> [Char]) -> _!_ _TUP_4 [(Int -> [Char] -> [(u0, [Char])]), (Int -> u0 -> [Char] -> [Char]), ([Char] -> [([u0], [Char])]), ([u0] -> [Char] -> [Char])] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAALAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 6 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0 -> u0) (u3 :: u0) (u4 :: u0) -> let {(u5 :: u0) = _APP_ u2 [ u4 ]} in _APP_ u1 [ u3, u5 ] _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Integer -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "U(AAAAAAAASA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 1 2 XC 5 _/\_ u0 -> \ (u1 :: Integer -> u0) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in _APP_ u1 [ u4 ] _N_} _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)AAAAAAA)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0 -> u0 -> Bool) -> _!_ _TUP_2 [(u0 -> u0 -> Bool), (u0 -> u0 -> Bool)] [u1, u2] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(ASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LASAAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(ASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAA)LL" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAAAAA)LL" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> _CMP_TAG) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(U(SA)LAAAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLLLL)AA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLLL)A)" {_A_ 5 _U_ 22222 _N_ _N_ _F_ _IF_ARGS_ 1 5 XXXXX 6 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0 -> [u0]) (u3 :: u0 -> u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> u0 -> [u0]) -> _!_ _TUP_5 [{{Ord u0}}, (u0 -> [u0]), (u0 -> u0 -> [u0]), (u0 -> u0 -> [u0]), (u0 -> u0 -> u0 -> [u0])] [u1, u2, u3, u4, u5] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Ratio Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLL)AAAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{RealFrac u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLLLLLLLLLLLLLLLLL)AAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAASAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAASAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> (Int, Int)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> (Integer, Int)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Integer -> Int -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(AAALASAAAA)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(AAALALSAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAAAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "U(AAAAALSAAA)LL" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLL)AAAAAA)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: {{Enum u0}}) (u3 :: u0 -> Ratio Integer) -> _!_ _TUP_3 [{{Num u0}}, {{Enum u0}}, (u0 -> Ratio Integer)] [u1, u2, u3] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0 -> u0 -> u0) (u3 :: u0 -> u0) (u4 :: Ratio Integer -> u0) -> _!_ _TUP_4 [{{Num u0}}, (u0 -> u0 -> u0), (u0 -> u0), (Ratio Integer -> u0)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAASAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAASAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAAASA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAAAAS)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> [Char] -> [(u0, [Char])]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0 -> [Char] -> [Char]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: [Char] -> [([u0], [Char])]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: [u0] -> [Char] -> [Char]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Bin
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Cls_mg.hi b/ghc/lib/prelude/Cls_mg.hi
new file mode 100644
index 0000000000..0700995075
--- /dev/null
+++ b/ghc/lib/prelude/Cls_mg.hi
@@ -0,0 +1,248 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple2, _CMP_TAG(..))
+import PreludeRatio(Ratio(..))
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(SA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Bin -> (u0, Bin)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bin -> Bin) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLL)AAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Ord u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LSAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "U(AAAAS)" {_A_ 1 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "U(LASAA)LLL" {_A_ 5 _U_ 11222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(SA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(SA)LL" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLL)AAAAAAAAAAAAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0 -> u0 -> u0) (u3 :: u0 -> u0) (u4 :: Ratio Integer -> u0) -> _!_ _TUP_4 [{{Num u0}}, (u0 -> u0 -> u0), (u0 -> u0), (Ratio Integer -> u0)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "U(ASAAAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASAAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAASAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAASAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(LAAAASAAAAAAAAAAAAA)" {_A_ 2 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAAAAAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LASLAAAAAAAAAAAAAAA)LL" {_A_ 5 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAAAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(U(ASAA)AALAAAAAAAAAAAAAAA)LL" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAASAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(U(ASAA)AAAAAALLAAAAAAAAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAASAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAASAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAASAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAASAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(U(ASAA)AAAAAAAAAAAALLAAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLLLL)AAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAL)" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Ratio Integer -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLL)AAAAAAAAAAA)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: {{Enum u0}}) (u3 :: u0 -> Ratio Integer) -> _!_ _TUP_3 [{{Num u0}}, {{Enum u0}}, (u0 -> Ratio Integer)] [u1, u2, u3] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: (u0, u0) -> [u0]) (u3 :: (u0, u0) -> u0 -> Int) (u4 :: (u0, u0) -> u0 -> Bool) -> _!_ _TUP_4 [{{Ord u0}}, ((u0, u0) -> [u0]), ((u0, u0) -> u0 -> Int), ((u0, u0) -> u0 -> Bool)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)ALLALALLA)AA)AAAAALAAAAA)" {_A_ 2 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(U(U(U(SA)AAAAAAALA)AA)AALAAAAAAAA)" {_A_ 3 _U_ 1212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(U(U(U(AS)AAAAAAALA)AA)AALAAAAAAAA)" {_A_ 3 _U_ 1212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLL)AAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Ord u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)AAAAAAAAA)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0 -> u0 -> Bool) -> _!_ _TUP_2 [(u0 -> u0 -> Bool), (u0 -> u0 -> Bool)] [u1, u2] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: Int -> [Char] -> [(u0, [Char])]) (u2 :: Int -> u0 -> [Char] -> [Char]) (u3 :: [Char] -> [([u0], [Char])]) (u4 :: [u0] -> [Char] -> [Char]) -> _!_ _TUP_4 [(Int -> [Char] -> [(u0, [Char])]), (Int -> u0 -> [Char] -> [Char]), ([Char] -> [([u0], [Char])]), ([u0] -> [Char] -> [Char])] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAALAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 6 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0 -> u0) (u3 :: u0) (u4 :: u0) -> let {(u5 :: u0) = _APP_ u2 [ u4 ]} in _APP_ u1 [ u3, u5 ] _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Integer -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "U(AAAAAAAASA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 1 2 XC 5 _/\_ u0 -> \ (u1 :: Integer -> u0) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in _APP_ u1 [ u4 ] _N_} _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)AAAAAAA)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0 -> u0 -> Bool) -> _!_ _TUP_2 [(u0 -> u0 -> Bool), (u0 -> u0 -> Bool)] [u1, u2] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(ASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LASAAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(ASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAA)LL" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAAAAA)LL" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> _CMP_TAG) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(U(SA)LAAAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLLLL)AA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLLL)A)" {_A_ 5 _U_ 22222 _N_ _N_ _F_ _IF_ARGS_ 1 5 XXXXX 6 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0 -> [u0]) (u3 :: u0 -> u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> u0 -> [u0]) -> _!_ _TUP_5 [{{Ord u0}}, (u0 -> [u0]), (u0 -> u0 -> [u0]), (u0 -> u0 -> [u0]), (u0 -> u0 -> u0 -> [u0])] [u1, u2, u3, u4, u5] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Ratio Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLL)AAAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{RealFrac u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLLLLLLLLLLLLLLLLL)AAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAASAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAASAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> (Int, Int)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> (Integer, Int)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Integer -> Int -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(AAALASAAAA)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(AAALALSAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAAAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "U(AAAAALSAAA)LL" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLL)AAAAAA)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: {{Enum u0}}) (u3 :: u0 -> Ratio Integer) -> _!_ _TUP_3 [{{Num u0}}, {{Enum u0}}, (u0 -> Ratio Integer)] [u1, u2, u3] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0 -> u0 -> u0) (u3 :: u0 -> u0) (u4 :: Ratio Integer -> u0) -> _!_ _TUP_4 [{{Num u0}}, (u0 -> u0 -> u0), (u0 -> u0), (Ratio Integer -> u0)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAASAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAASAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAAASA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAAAAS)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> [Char] -> [(u0, [Char])]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0 -> [Char] -> [Char]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: [Char] -> [([u0], [Char])]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: [u0] -> [Char] -> [Char]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Bin
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Cls_mp.hi b/ghc/lib/prelude/Cls_mp.hi
new file mode 100644
index 0000000000..0700995075
--- /dev/null
+++ b/ghc/lib/prelude/Cls_mp.hi
@@ -0,0 +1,248 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple2, _CMP_TAG(..))
+import PreludeRatio(Ratio(..))
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(SA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Bin -> (u0, Bin)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bin -> Bin) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLL)AAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Ord u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LSAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "U(AAAAS)" {_A_ 1 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "U(LASAA)LLL" {_A_ 5 _U_ 11222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(SA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(SA)LL" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLL)AAAAAAAAAAAAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0 -> u0 -> u0) (u3 :: u0 -> u0) (u4 :: Ratio Integer -> u0) -> _!_ _TUP_4 [{{Num u0}}, (u0 -> u0 -> u0), (u0 -> u0), (Ratio Integer -> u0)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "U(ASAAAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASAAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAASAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAASAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(LAAAASAAAAAAAAAAAAA)" {_A_ 2 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAAAAAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LASLAAAAAAAAAAAAAAA)LL" {_A_ 5 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAAAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(U(ASAA)AALAAAAAAAAAAAAAAA)LL" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAASAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(U(ASAA)AAAAAALLAAAAAAAAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAASAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAASAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAASAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAASAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(U(ASAA)AAAAAAAAAAAALLAAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLLLL)AAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAL)" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Ratio Integer -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLL)AAAAAAAAAAA)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: {{Enum u0}}) (u3 :: u0 -> Ratio Integer) -> _!_ _TUP_3 [{{Num u0}}, {{Enum u0}}, (u0 -> Ratio Integer)] [u1, u2, u3] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: (u0, u0) -> [u0]) (u3 :: (u0, u0) -> u0 -> Int) (u4 :: (u0, u0) -> u0 -> Bool) -> _!_ _TUP_4 [{{Ord u0}}, ((u0, u0) -> [u0]), ((u0, u0) -> u0 -> Int), ((u0, u0) -> u0 -> Bool)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)ALLALALLA)AA)AAAAALAAAAA)" {_A_ 2 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(U(U(U(SA)AAAAAAALA)AA)AALAAAAAAAA)" {_A_ 3 _U_ 1212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(U(U(U(AS)AAAAAAALA)AA)AALAAAAAAAA)" {_A_ 3 _U_ 1212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLL)AAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Ord u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)AAAAAAAAA)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0 -> u0 -> Bool) -> _!_ _TUP_2 [(u0 -> u0 -> Bool), (u0 -> u0 -> Bool)] [u1, u2] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: Int -> [Char] -> [(u0, [Char])]) (u2 :: Int -> u0 -> [Char] -> [Char]) (u3 :: [Char] -> [([u0], [Char])]) (u4 :: [u0] -> [Char] -> [Char]) -> _!_ _TUP_4 [(Int -> [Char] -> [(u0, [Char])]), (Int -> u0 -> [Char] -> [Char]), ([Char] -> [([u0], [Char])]), ([u0] -> [Char] -> [Char])] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAALAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 6 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0 -> u0) (u3 :: u0) (u4 :: u0) -> let {(u5 :: u0) = _APP_ u2 [ u4 ]} in _APP_ u1 [ u3, u5 ] _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Integer -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "U(AAAAAAAASA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 1 2 XC 5 _/\_ u0 -> \ (u1 :: Integer -> u0) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in _APP_ u1 [ u4 ] _N_} _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)AAAAAAA)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0 -> u0 -> Bool) -> _!_ _TUP_2 [(u0 -> u0 -> Bool), (u0 -> u0 -> Bool)] [u1, u2] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(ASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LASAAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(ASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAA)LL" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAAAAA)LL" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> _CMP_TAG) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(U(SA)LAAAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLLLL)AA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLLL)A)" {_A_ 5 _U_ 22222 _N_ _N_ _F_ _IF_ARGS_ 1 5 XXXXX 6 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0 -> [u0]) (u3 :: u0 -> u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> u0 -> [u0]) -> _!_ _TUP_5 [{{Ord u0}}, (u0 -> [u0]), (u0 -> u0 -> [u0]), (u0 -> u0 -> [u0]), (u0 -> u0 -> u0 -> [u0])] [u1, u2, u3, u4, u5] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Ratio Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLL)AAAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{RealFrac u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLLLLLLLLLLLLLLLLL)AAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAASAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAASAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> (Int, Int)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> (Integer, Int)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Integer -> Int -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(AAALASAAAA)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(AAALALSAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAAAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "U(AAAAALSAAA)LL" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLL)AAAAAA)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: {{Enum u0}}) (u3 :: u0 -> Ratio Integer) -> _!_ _TUP_3 [{{Num u0}}, {{Enum u0}}, (u0 -> Ratio Integer)] [u1, u2, u3] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0 -> u0 -> u0) (u3 :: u0 -> u0) (u4 :: Ratio Integer -> u0) -> _!_ _TUP_4 [{{Num u0}}, (u0 -> u0 -> u0), (u0 -> u0), (Ratio Integer -> u0)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAASAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAASAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAAASA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAAAAS)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> [Char] -> [(u0, [Char])]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0 -> [Char] -> [Char]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: [Char] -> [([u0], [Char])]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: [u0] -> [Char] -> [Char]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Bin
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Cls_mr.hi b/ghc/lib/prelude/Cls_mr.hi
new file mode 100644
index 0000000000..0700995075
--- /dev/null
+++ b/ghc/lib/prelude/Cls_mr.hi
@@ -0,0 +1,248 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple2, _CMP_TAG(..))
+import PreludeRatio(Ratio(..))
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(SA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Bin -> (u0, Bin)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bin -> Bin) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLL)AAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Ord u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LSAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "U(AAAAS)" {_A_ 1 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "U(LASAA)LLL" {_A_ 5 _U_ 11222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(SA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(SA)LL" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLL)AAAAAAAAAAAAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0 -> u0 -> u0) (u3 :: u0 -> u0) (u4 :: Ratio Integer -> u0) -> _!_ _TUP_4 [{{Num u0}}, (u0 -> u0 -> u0), (u0 -> u0), (Ratio Integer -> u0)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "U(ASAAAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASAAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAASAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAASAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(LAAAASAAAAAAAAAAAAA)" {_A_ 2 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAAAAAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LASLAAAAAAAAAAAAAAA)LL" {_A_ 5 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAAAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(U(ASAA)AALAAAAAAAAAAAAAAA)LL" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAASAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(U(ASAA)AAAAAALLAAAAAAAAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAASAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAASAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAASAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAASAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(U(ASAA)AAAAAAAAAAAALLAAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLLLL)AAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAL)" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Ratio Integer -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLL)AAAAAAAAAAA)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: {{Enum u0}}) (u3 :: u0 -> Ratio Integer) -> _!_ _TUP_3 [{{Num u0}}, {{Enum u0}}, (u0 -> Ratio Integer)] [u1, u2, u3] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: (u0, u0) -> [u0]) (u3 :: (u0, u0) -> u0 -> Int) (u4 :: (u0, u0) -> u0 -> Bool) -> _!_ _TUP_4 [{{Ord u0}}, ((u0, u0) -> [u0]), ((u0, u0) -> u0 -> Int), ((u0, u0) -> u0 -> Bool)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)ALLALALLA)AA)AAAAALAAAAA)" {_A_ 2 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(U(U(U(SA)AAAAAAALA)AA)AALAAAAAAAA)" {_A_ 3 _U_ 1212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(U(U(U(AS)AAAAAAALA)AA)AALAAAAAAAA)" {_A_ 3 _U_ 1212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLL)AAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Ord u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)AAAAAAAAA)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0 -> u0 -> Bool) -> _!_ _TUP_2 [(u0 -> u0 -> Bool), (u0 -> u0 -> Bool)] [u1, u2] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: Int -> [Char] -> [(u0, [Char])]) (u2 :: Int -> u0 -> [Char] -> [Char]) (u3 :: [Char] -> [([u0], [Char])]) (u4 :: [u0] -> [Char] -> [Char]) -> _!_ _TUP_4 [(Int -> [Char] -> [(u0, [Char])]), (Int -> u0 -> [Char] -> [Char]), ([Char] -> [([u0], [Char])]), ([u0] -> [Char] -> [Char])] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAALAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 6 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0 -> u0) (u3 :: u0) (u4 :: u0) -> let {(u5 :: u0) = _APP_ u2 [ u4 ]} in _APP_ u1 [ u3, u5 ] _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Integer -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "U(AAAAAAAASA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 1 2 XC 5 _/\_ u0 -> \ (u1 :: Integer -> u0) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in _APP_ u1 [ u4 ] _N_} _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)AAAAAAA)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0 -> u0 -> Bool) -> _!_ _TUP_2 [(u0 -> u0 -> Bool), (u0 -> u0 -> Bool)] [u1, u2] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(ASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LASAAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(ASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAA)LL" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAAAAA)LL" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> _CMP_TAG) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(U(SA)LAAAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLLLL)AA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLLL)A)" {_A_ 5 _U_ 22222 _N_ _N_ _F_ _IF_ARGS_ 1 5 XXXXX 6 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0 -> [u0]) (u3 :: u0 -> u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> u0 -> [u0]) -> _!_ _TUP_5 [{{Ord u0}}, (u0 -> [u0]), (u0 -> u0 -> [u0]), (u0 -> u0 -> [u0]), (u0 -> u0 -> u0 -> [u0])] [u1, u2, u3, u4, u5] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Ratio Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLL)AAAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{RealFrac u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLLLLLLLLLLLLLLLLL)AAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAASAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAASAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> (Int, Int)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> (Integer, Int)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Integer -> Int -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(AAALASAAAA)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(AAALALSAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAAAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "U(AAAAALSAAA)LL" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLL)AAAAAA)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: {{Enum u0}}) (u3 :: u0 -> Ratio Integer) -> _!_ _TUP_3 [{{Num u0}}, {{Enum u0}}, (u0 -> Ratio Integer)] [u1, u2, u3] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0 -> u0 -> u0) (u3 :: u0 -> u0) (u4 :: Ratio Integer -> u0) -> _!_ _TUP_4 [{{Num u0}}, (u0 -> u0 -> u0), (u0 -> u0), (Ratio Integer -> u0)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAASAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAASAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAAASA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAAAAS)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> [Char] -> [(u0, [Char])]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0 -> [Char] -> [Char]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: [Char] -> [([u0], [Char])]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: [u0] -> [Char] -> [Char]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Bin
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Cls_mt.hi b/ghc/lib/prelude/Cls_mt.hi
new file mode 100644
index 0000000000..0700995075
--- /dev/null
+++ b/ghc/lib/prelude/Cls_mt.hi
@@ -0,0 +1,248 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple2, _CMP_TAG(..))
+import PreludeRatio(Ratio(..))
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(SA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Bin -> (u0, Bin)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bin -> Bin) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLL)AAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Ord u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LSAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "U(AAAAS)" {_A_ 1 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "U(LASAA)LLL" {_A_ 5 _U_ 11222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(SA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(SA)LL" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLL)AAAAAAAAAAAAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0 -> u0 -> u0) (u3 :: u0 -> u0) (u4 :: Ratio Integer -> u0) -> _!_ _TUP_4 [{{Num u0}}, (u0 -> u0 -> u0), (u0 -> u0), (Ratio Integer -> u0)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "U(ASAAAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASAAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAASAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAASAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(LAAAASAAAAAAAAAAAAA)" {_A_ 2 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAAAAAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LASLAAAAAAAAAAAAAAA)LL" {_A_ 5 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAAAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(U(ASAA)AALAAAAAAAAAAAAAAA)LL" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAASAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(U(ASAA)AAAAAALLAAAAAAAAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAASAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAASAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAASAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAASAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(U(ASAA)AAAAAAAAAAAALLAAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLLLL)AAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAL)" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Ratio Integer -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLL)AAAAAAAAAAA)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: {{Enum u0}}) (u3 :: u0 -> Ratio Integer) -> _!_ _TUP_3 [{{Num u0}}, {{Enum u0}}, (u0 -> Ratio Integer)] [u1, u2, u3] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: (u0, u0) -> [u0]) (u3 :: (u0, u0) -> u0 -> Int) (u4 :: (u0, u0) -> u0 -> Bool) -> _!_ _TUP_4 [{{Ord u0}}, ((u0, u0) -> [u0]), ((u0, u0) -> u0 -> Int), ((u0, u0) -> u0 -> Bool)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)ALLALALLA)AA)AAAAALAAAAA)" {_A_ 2 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(U(U(U(SA)AAAAAAALA)AA)AALAAAAAAAA)" {_A_ 3 _U_ 1212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(U(U(U(AS)AAAAAAALA)AA)AALAAAAAAAA)" {_A_ 3 _U_ 1212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLL)AAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Ord u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)AAAAAAAAA)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0 -> u0 -> Bool) -> _!_ _TUP_2 [(u0 -> u0 -> Bool), (u0 -> u0 -> Bool)] [u1, u2] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: Int -> [Char] -> [(u0, [Char])]) (u2 :: Int -> u0 -> [Char] -> [Char]) (u3 :: [Char] -> [([u0], [Char])]) (u4 :: [u0] -> [Char] -> [Char]) -> _!_ _TUP_4 [(Int -> [Char] -> [(u0, [Char])]), (Int -> u0 -> [Char] -> [Char]), ([Char] -> [([u0], [Char])]), ([u0] -> [Char] -> [Char])] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAALAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 6 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0 -> u0) (u3 :: u0) (u4 :: u0) -> let {(u5 :: u0) = _APP_ u2 [ u4 ]} in _APP_ u1 [ u3, u5 ] _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Integer -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "U(AAAAAAAASA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 1 2 XC 5 _/\_ u0 -> \ (u1 :: Integer -> u0) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in _APP_ u1 [ u4 ] _N_} _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)AAAAAAA)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0 -> u0 -> Bool) -> _!_ _TUP_2 [(u0 -> u0 -> Bool), (u0 -> u0 -> Bool)] [u1, u2] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(ASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LASAAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(ASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAA)LL" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAAAAA)LL" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> _CMP_TAG) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(U(SA)LAAAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLLLL)AA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLLL)A)" {_A_ 5 _U_ 22222 _N_ _N_ _F_ _IF_ARGS_ 1 5 XXXXX 6 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0 -> [u0]) (u3 :: u0 -> u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> u0 -> [u0]) -> _!_ _TUP_5 [{{Ord u0}}, (u0 -> [u0]), (u0 -> u0 -> [u0]), (u0 -> u0 -> [u0]), (u0 -> u0 -> u0 -> [u0])] [u1, u2, u3, u4, u5] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Ratio Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLL)AAAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{RealFrac u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLLLLLLLLLLLLLLLLL)AAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAASAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAASAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> (Int, Int)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> (Integer, Int)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Integer -> Int -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(AAALASAAAA)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(AAALALSAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAAAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "U(AAAAALSAAA)LL" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLL)AAAAAA)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: {{Enum u0}}) (u3 :: u0 -> Ratio Integer) -> _!_ _TUP_3 [{{Num u0}}, {{Enum u0}}, (u0 -> Ratio Integer)] [u1, u2, u3] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0 -> u0 -> u0) (u3 :: u0 -> u0) (u4 :: Ratio Integer -> u0) -> _!_ _TUP_4 [{{Num u0}}, (u0 -> u0 -> u0), (u0 -> u0), (Ratio Integer -> u0)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAASAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAASAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAAASA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAAAAS)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> [Char] -> [(u0, [Char])]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0 -> [Char] -> [Char]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: [Char] -> [([u0], [Char])]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: [u0] -> [Char] -> [Char]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Bin
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Cls_p.hi b/ghc/lib/prelude/Cls_p.hi
new file mode 100644
index 0000000000..0700995075
--- /dev/null
+++ b/ghc/lib/prelude/Cls_p.hi
@@ -0,0 +1,248 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple2, _CMP_TAG(..))
+import PreludeRatio(Ratio(..))
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(SA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Bin -> (u0, Bin)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bin -> Bin) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLL)AAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Ord u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LSAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "U(AAAAS)" {_A_ 1 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "U(LASAA)LLL" {_A_ 5 _U_ 11222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(SA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(SA)LL" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLL)AAAAAAAAAAAAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0 -> u0 -> u0) (u3 :: u0 -> u0) (u4 :: Ratio Integer -> u0) -> _!_ _TUP_4 [{{Num u0}}, (u0 -> u0 -> u0), (u0 -> u0), (Ratio Integer -> u0)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "U(ASAAAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASAAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAASAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAASAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(LAAAASAAAAAAAAAAAAA)" {_A_ 2 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAAAAAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LASLAAAAAAAAAAAAAAA)LL" {_A_ 5 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAAAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(U(ASAA)AALAAAAAAAAAAAAAAA)LL" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAASAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(U(ASAA)AAAAAALLAAAAAAAAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAASAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAASAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAASAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAASAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(U(ASAA)AAAAAAAAAAAALLAAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLLLL)AAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAL)" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Ratio Integer -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLL)AAAAAAAAAAA)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: {{Enum u0}}) (u3 :: u0 -> Ratio Integer) -> _!_ _TUP_3 [{{Num u0}}, {{Enum u0}}, (u0 -> Ratio Integer)] [u1, u2, u3] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: (u0, u0) -> [u0]) (u3 :: (u0, u0) -> u0 -> Int) (u4 :: (u0, u0) -> u0 -> Bool) -> _!_ _TUP_4 [{{Ord u0}}, ((u0, u0) -> [u0]), ((u0, u0) -> u0 -> Int), ((u0, u0) -> u0 -> Bool)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)ALLALALLA)AA)AAAAALAAAAA)" {_A_ 2 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(U(U(U(SA)AAAAAAALA)AA)AALAAAAAAAA)" {_A_ 3 _U_ 1212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(U(U(U(AS)AAAAAAALA)AA)AALAAAAAAAA)" {_A_ 3 _U_ 1212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLL)AAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Ord u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)AAAAAAAAA)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0 -> u0 -> Bool) -> _!_ _TUP_2 [(u0 -> u0 -> Bool), (u0 -> u0 -> Bool)] [u1, u2] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: Int -> [Char] -> [(u0, [Char])]) (u2 :: Int -> u0 -> [Char] -> [Char]) (u3 :: [Char] -> [([u0], [Char])]) (u4 :: [u0] -> [Char] -> [Char]) -> _!_ _TUP_4 [(Int -> [Char] -> [(u0, [Char])]), (Int -> u0 -> [Char] -> [Char]), ([Char] -> [([u0], [Char])]), ([u0] -> [Char] -> [Char])] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAALAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 6 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0 -> u0) (u3 :: u0) (u4 :: u0) -> let {(u5 :: u0) = _APP_ u2 [ u4 ]} in _APP_ u1 [ u3, u5 ] _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Integer -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "U(AAAAAAAASA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 1 2 XC 5 _/\_ u0 -> \ (u1 :: Integer -> u0) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in _APP_ u1 [ u4 ] _N_} _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)AAAAAAA)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0 -> u0 -> Bool) -> _!_ _TUP_2 [(u0 -> u0 -> Bool), (u0 -> u0 -> Bool)] [u1, u2] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(ASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LASAAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(ASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAA)LL" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAAAAA)LL" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> _CMP_TAG) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(U(SA)LAAAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLLLL)AA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLLL)A)" {_A_ 5 _U_ 22222 _N_ _N_ _F_ _IF_ARGS_ 1 5 XXXXX 6 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0 -> [u0]) (u3 :: u0 -> u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> u0 -> [u0]) -> _!_ _TUP_5 [{{Ord u0}}, (u0 -> [u0]), (u0 -> u0 -> [u0]), (u0 -> u0 -> [u0]), (u0 -> u0 -> u0 -> [u0])] [u1, u2, u3, u4, u5] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Ratio Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLL)AAAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{RealFrac u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLLLLLLLLLLLLLLLLL)AAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAASAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAASAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> (Int, Int)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> (Integer, Int)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Integer -> Int -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(AAALASAAAA)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(AAALALSAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAAAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "U(AAAAALSAAA)LL" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLL)AAAAAA)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: {{Enum u0}}) (u3 :: u0 -> Ratio Integer) -> _!_ _TUP_3 [{{Num u0}}, {{Enum u0}}, (u0 -> Ratio Integer)] [u1, u2, u3] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0 -> u0 -> u0) (u3 :: u0 -> u0) (u4 :: Ratio Integer -> u0) -> _!_ _TUP_4 [{{Num u0}}, (u0 -> u0 -> u0), (u0 -> u0), (Ratio Integer -> u0)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAASAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAASAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAAASA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAAAAS)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> [Char] -> [(u0, [Char])]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0 -> [Char] -> [Char]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: [Char] -> [([u0], [Char])]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: [u0] -> [Char] -> [Char]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Bin
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Cls_t.hi b/ghc/lib/prelude/Cls_t.hi
new file mode 100644
index 0000000000..0700995075
--- /dev/null
+++ b/ghc/lib/prelude/Cls_t.hi
@@ -0,0 +1,248 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple2, _CMP_TAG(..))
+import PreludeRatio(Ratio(..))
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(SA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Bin -> (u0, Bin)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bin -> Bin) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLL)AAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Ord u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LSAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "U(AAAAS)" {_A_ 1 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0 -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "U(LASAA)LLL" {_A_ 5 _U_ 11222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(SA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(SA)LL" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLL)AAAAAAAAAAAAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0 -> u0 -> u0) (u3 :: u0 -> u0) (u4 :: Ratio Integer -> u0) -> _!_ _TUP_4 [{{Num u0}}, (u0 -> u0 -> u0), (u0 -> u0), (Ratio Integer -> u0)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "U(ASAAAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASAAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAASAAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAASAAAAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(LAAAASAAAAAAAAAAAAA)" {_A_ 2 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAAAAAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LASLAAAAAAAAAAAAAAA)LL" {_A_ 5 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAAAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(U(ASAA)AALAAAAAAAAAAAAAAA)LL" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASAAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAASAAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(U(ASAA)AAAAAALLAAAAAAAAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAASAAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAASAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAASAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAASAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(U(ASAA)AAAAAAAAAAAALLAAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLLLL)AAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAL)" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Ratio Integer -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLL)AAAAAAAAAAA)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: {{Enum u0}}) (u3 :: u0 -> Ratio Integer) -> _!_ _TUP_3 [{{Num u0}}, {{Enum u0}}, (u0 -> Ratio Integer)] [u1, u2, u3] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: (u0, u0) -> [u0]) (u3 :: (u0, u0) -> u0 -> Int) (u4 :: (u0, u0) -> u0 -> Bool) -> _!_ _TUP_4 [{{Ord u0}}, ((u0, u0) -> [u0]), ((u0, u0) -> u0 -> Int), ((u0, u0) -> u0 -> Bool)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 5 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) (u2 :: u0) (u3 :: u0) -> case _APP_ u1 [ u2, u3 ] of { _ALG_ _TUP_2 (u4 :: u0) (u5 :: u0) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAASAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> (u0, u0)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)ALLALALLA)AA)AAAAALAAAAA)" {_A_ 2 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(U(U(U(SA)AAAAAAALA)AA)AALAAAAAAAA)" {_A_ 3 _U_ 1212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "U(U(U(U(AS)AAAAAAALA)AA)AALAAAAAAAA)" {_A_ 3 _U_ 1212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLL)AAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Ord u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> [u0]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: (u0, u0) -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)AAAAAAAAA)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0 -> u0 -> Bool) -> _!_ _TUP_2 [(u0 -> u0 -> Bool), (u0 -> u0 -> Bool)] [u1, u2] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: Int -> [Char] -> [(u0, [Char])]) (u2 :: Int -> u0 -> [Char] -> [Char]) (u3 :: [Char] -> [([u0], [Char])]) (u4 :: [u0] -> [Char] -> [Char]) -> _!_ _TUP_4 [(Int -> [Char] -> [(u0, [Char])]), (Int -> u0 -> [Char] -> [Char]), ([Char] -> [([u0], [Char])]), ([u0] -> [Char] -> [Char])] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAALAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 6 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0 -> u0) (u3 :: u0) (u4 :: u0) -> let {(u5 :: u0) = _APP_ u2 [ u4 ]} in _APP_ u1 [ u3, u5 ] _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAASAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Integer -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAAAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "U(AAAAAAAASA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 1 2 XC 5 _/\_ u0 -> \ (u1 :: Integer -> u0) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in _APP_ u1 [ u4 ] _N_} _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)AAAAAAA)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0 -> u0 -> Bool) -> _!_ _TUP_2 [(u0 -> u0 -> Bool), (u0 -> u0 -> Bool)] [u1, u2] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(ASAAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(LASAAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AASAAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAASAAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAASAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(ASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> Bool) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAASAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAA)LL" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(AASAAAAA)LL" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0 -> _CMP_TAG) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "U(U(SA)LAAAAAA)LL" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLLLLL)AA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLLL)A)" {_A_ 5 _U_ 22222 _N_ _N_ _F_ _IF_ARGS_ 1 5 XXXXX 6 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0 -> [u0]) (u3 :: u0 -> u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> u0 -> [u0]) -> _!_ _TUP_5 [{{Ord u0}}, (u0 -> [u0]), (u0 -> u0 -> [u0]), (u0 -> u0 -> [u0]), (u0 -> u0 -> u0 -> [u0])] [u1, u2, u3, u4, u5] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAS)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Ratio Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLLLLLL)AAAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{RealFrac u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLLLLLLLLLLLLLLLLL)AAAAAAAA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASAAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Integer) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAASAAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAASAAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> (Int, Int)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAASAAAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> (Integer, Int)) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAASAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Integer -> Int -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAASAA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> Int) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(AAALASAAAA)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "U(AAALALSAAA)L" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAAAAAAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0 -> u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "U(AAAAALSAAA)LL" {_A_ 4 _U_ 1112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "U(U(LLL)AAAAAA)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: {{Enum u0}}) (u3 :: u0 -> Ratio Integer) -> _!_ _TUP_3 [{{Num u0}}, {{Enum u0}}, (u0 -> Ratio Integer)] [u1, u2, u3] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "U(AU(LLLL)AAAAA)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0 -> u0 -> u0) (u3 :: u0 -> u0) (u4 :: Ratio Integer -> u0) -> _!_ _TUP_4 [{{Num u0}}, (u0 -> u0 -> u0), (u0 -> u0), (Ratio Integer -> u0)] [u1, u2, u3, u4] _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAASAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAASAA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAAASA)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "U(AAAAAAS)L" {_A_ 2 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u3 :: {{Integral u1}}) -> _APP_ _TYAPP_ u2 { u1 } [ u3 ] _N_} _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> [Char] -> [(u0, [Char])]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: Int -> u0 -> [Char] -> [Char]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "U(AASA)" {_A_ 1 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: [Char] -> [([u0], [Char])]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: [u0] -> [Char] -> [Char]) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Bin
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Concurrent.hi b/ghc/lib/prelude/Concurrent.hi
new file mode 100644
index 0000000000..29976ccd5b
--- /dev/null
+++ b/ghc/lib/prelude/Concurrent.hi
@@ -0,0 +1,93 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Concurrent where
+import Channel(Chan(..), dupChan, getChan, getChanContents, newChan, putChan, unGetChan)
+import ChannelVar(CVar(..), getCVar, newCVar, putCVar)
+import Merge(mergeIO, nmergeIO)
+import Parallel(par, seq)
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(IVar(..), MVar(..), _IVar, _MVar, newEmptyMVar, newIVar, newMVar, putMVar, readIVar, readMVar, swapMVar, takeMVar, threadDelay, threadWait, writeIVar)
+import SampleVar(SampleVar(..), emptySampleVar, newSampleVar, readSample, writeSample)
+import Semaphore(QSem(..), QSemN(..), newQSem, newQSemN, signalQSem, signalQSemN, waitQSem, waitQSemN)
+infixr 0 `par`
+infixr 1 `seq`
+data Chan a
+data CVar a {-# GHC_PRAGMA CVar (_MVar a) (_MVar ()) #-}
+type IVar a = _IVar a
+type MVar a = _MVar a
+data _IVar a {-# GHC_PRAGMA _IVar (SynchVar# _RealWorld a) #-}
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+type SampleVar a = _MVar (Int, _MVar a)
+data QSem {-# GHC_PRAGMA QSem (_MVar (Int, [_MVar ()])) #-}
+data QSemN {-# GHC_PRAGMA QSemN (_MVar (Int, [(Int, _MVar ())])) #-}
+dupChan :: Chan a -> _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+emptySampleVar :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+forkIO :: (_State _RealWorld -> (Either IOError13 (), _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+getChan :: Chan a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+getChanContents :: Chan a -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+newChan :: _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "SLS" _N_ _N_ #-}
+unGetChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "SLS" _N_ _N_ #-}
+getCVar :: CVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newCVar :: _State _RealWorld -> (Either IOError13 (CVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putCVar :: CVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(LU(P))LU(P)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+mergeIO :: [a] -> [a] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 001 _N_ _S_ "AAU(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+nmergeIO :: [[a]] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AU(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+par :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AS" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> u3 _N_ #-}
+seq :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AS" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> u3 _N_ #-}
+newEmptyMVar :: _State _RealWorld -> (Either IOError13 (_MVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newIVar :: _State _RealWorld -> (Either IOError13 (_IVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newMVar :: a -> _State _RealWorld -> (Either IOError13 (_MVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putMVar :: _MVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readIVar :: _IVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readMVar :: _MVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+swapMVar :: _MVar a -> a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+takeMVar :: _MVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+threadDelay :: Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+threadWait :: Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+writeIVar :: _IVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newSampleVar :: _State _RealWorld -> (Either IOError13 (_MVar (Int, _MVar a)), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readSample :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+writeSample :: _MVar (Int, _MVar a) -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newQSem :: Int -> _State _RealWorld -> (Either IOError13 QSem, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newQSemN :: Int -> _State _RealWorld -> (Either IOError13 QSemN, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Concurrent.lhs b/ghc/lib/prelude/Concurrent.lhs
new file mode 100644
index 0000000000..08c5d35cea
--- /dev/null
+++ b/ghc/lib/prelude/Concurrent.lhs
@@ -0,0 +1,59 @@
+%
+% (c) The AQUA Project, Glasgow University, 1995
+%
+\section[Concurrent]{Concurrent Haskell constructs}
+
+A common interface to a collection of useful concurrency abstractions.
+Currently, the collection only contains the abstractions found in the
+{\em Concurrent Haskell} paper (presented at the Haskell Workshop
+1995, draft available via \tr{ftp} from
+\tr{ftp.dcs.gla.ac.uk/pub/glasgow-fp/drafts}.) plus a couple of
+others. See the paper and the individual files containing the module
+definitions for explanation on what they do.
+
+\begin{code}
+module Concurrent (
+ forkIO,
+ par, seq, -- reexported from Parallel
+
+ threadWait, threadDelay,
+
+ ChannelVar..,
+ Channel..,
+ Semaphore..,
+ Merge..,
+ SampleVar..,
+
+ -- IVars and MVars come from here, too
+ IVar(..), MVar(..), -- for convenience...
+ _IVar, _MVar, -- abstract
+ newEmptyMVar, takeMVar, putMVar, newMVar, readMVar, swapMVar,
+ newIVar, readIVar, writeIVar
+
+ ) where
+
+import Parallel
+import ChannelVar
+import Channel
+import Semaphore
+import Merge
+import SampleVar
+
+import PreludeGlaST ( forkST )
+import PreludePrimIO ( newEmptyMVar, newMVar, putMVar,
+ readMVar, swapMVar, takeMVar, _MVar,
+ newIVar, readIVar, writeIVar, _IVar,
+ IVar(..), MVar(..),
+ threadWait, threadDelay
+ )
+
+forkIO :: IO () -> IO ()
+
+forkIO action s
+ = let
+ (_, new_s) = action s
+ in
+ new_s `_fork_` (Right (), s)
+ where
+ _fork_ x y = case (fork# x) of { 0# -> parError#; _ -> y }
+\end{code}
diff --git a/ghc/lib/prelude/Concurrent_mc.hi b/ghc/lib/prelude/Concurrent_mc.hi
new file mode 100644
index 0000000000..f59c81cc84
--- /dev/null
+++ b/ghc/lib/prelude/Concurrent_mc.hi
@@ -0,0 +1,93 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Concurrent where
+import Channel(Chan(..), dupChan, getChan, getChanContents, newChan, putChan, unGetChan)
+import ChannelVar(CVar(..), getCVar, newCVar, putCVar)
+import Merge(mergeIO, nmergeIO)
+import Parallel(par, seq)
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(IVar(..), MVar(..), _IVar, _MVar, newEmptyMVar, newIVar, newMVar, putMVar, readIVar, readMVar, swapMVar, takeMVar, threadDelay, threadWait, writeIVar)
+import SampleVar(SampleVar(..), emptySampleVar, newSampleVar, readSample, writeSample)
+import Semaphore(QSem(..), QSemN(..), newQSem, newQSemN, signalQSem, signalQSemN, waitQSem, waitQSemN)
+infixr 0 `par`
+infixr 1 `seq`
+data Chan a
+data CVar a {-# GHC_PRAGMA CVar (_MVar a) (_MVar ()) #-}
+type IVar a = _IVar a
+type MVar a = _MVar a
+data _IVar a {-# GHC_PRAGMA _IVar (SynchVar# _RealWorld a) #-}
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+type SampleVar a = _MVar (Int, _MVar a)
+data QSem {-# GHC_PRAGMA QSem (_MVar (Int, [_MVar ()])) #-}
+data QSemN {-# GHC_PRAGMA QSemN (_MVar (Int, [(Int, _MVar ())])) #-}
+dupChan :: Chan a -> _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+emptySampleVar :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+forkIO :: (_State _RealWorld -> (Either IOError13 (), _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+getChan :: Chan a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+getChanContents :: Chan a -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+newChan :: _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "SLS" _N_ _N_ #-}
+unGetChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "SLS" _N_ _N_ #-}
+getCVar :: CVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newCVar :: _State _RealWorld -> (Either IOError13 (CVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putCVar :: CVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(LU(P))LU(P)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+mergeIO :: [a] -> [a] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+nmergeIO :: [[a]] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+par :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> case _#_ par# [u0] [u2] of { _PRIM_ 0# -> _TYAPP_ parError# { u1 }; (u4 :: Int#) -> u3 } _N_ #-}
+seq :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> case _#_ seq# [u0] [u2] of { _PRIM_ 0# -> _TYAPP_ parError# { u1 }; (u4 :: Int#) -> u3 } _N_ #-}
+newEmptyMVar :: _State _RealWorld -> (Either IOError13 (_MVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newIVar :: _State _RealWorld -> (Either IOError13 (_IVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newMVar :: a -> _State _RealWorld -> (Either IOError13 (_MVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putMVar :: _MVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readIVar :: _IVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readMVar :: _MVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+swapMVar :: _MVar a -> a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+takeMVar :: _MVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+threadDelay :: Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+threadWait :: Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+writeIVar :: _IVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newSampleVar :: _State _RealWorld -> (Either IOError13 (_MVar (Int, _MVar a)), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readSample :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+writeSample :: _MVar (Int, _MVar a) -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newQSem :: Int -> _State _RealWorld -> (Either IOError13 QSem, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newQSemN :: Int -> _State _RealWorld -> (Either IOError13 QSemN, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Concurrent_mg.hi b/ghc/lib/prelude/Concurrent_mg.hi
new file mode 100644
index 0000000000..29976ccd5b
--- /dev/null
+++ b/ghc/lib/prelude/Concurrent_mg.hi
@@ -0,0 +1,93 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Concurrent where
+import Channel(Chan(..), dupChan, getChan, getChanContents, newChan, putChan, unGetChan)
+import ChannelVar(CVar(..), getCVar, newCVar, putCVar)
+import Merge(mergeIO, nmergeIO)
+import Parallel(par, seq)
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(IVar(..), MVar(..), _IVar, _MVar, newEmptyMVar, newIVar, newMVar, putMVar, readIVar, readMVar, swapMVar, takeMVar, threadDelay, threadWait, writeIVar)
+import SampleVar(SampleVar(..), emptySampleVar, newSampleVar, readSample, writeSample)
+import Semaphore(QSem(..), QSemN(..), newQSem, newQSemN, signalQSem, signalQSemN, waitQSem, waitQSemN)
+infixr 0 `par`
+infixr 1 `seq`
+data Chan a
+data CVar a {-# GHC_PRAGMA CVar (_MVar a) (_MVar ()) #-}
+type IVar a = _IVar a
+type MVar a = _MVar a
+data _IVar a {-# GHC_PRAGMA _IVar (SynchVar# _RealWorld a) #-}
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+type SampleVar a = _MVar (Int, _MVar a)
+data QSem {-# GHC_PRAGMA QSem (_MVar (Int, [_MVar ()])) #-}
+data QSemN {-# GHC_PRAGMA QSemN (_MVar (Int, [(Int, _MVar ())])) #-}
+dupChan :: Chan a -> _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+emptySampleVar :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+forkIO :: (_State _RealWorld -> (Either IOError13 (), _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+getChan :: Chan a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+getChanContents :: Chan a -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+newChan :: _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "SLS" _N_ _N_ #-}
+unGetChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "SLS" _N_ _N_ #-}
+getCVar :: CVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newCVar :: _State _RealWorld -> (Either IOError13 (CVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putCVar :: CVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(LU(P))LU(P)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+mergeIO :: [a] -> [a] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 001 _N_ _S_ "AAU(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+nmergeIO :: [[a]] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AU(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+par :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AS" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> u3 _N_ #-}
+seq :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AS" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> u3 _N_ #-}
+newEmptyMVar :: _State _RealWorld -> (Either IOError13 (_MVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newIVar :: _State _RealWorld -> (Either IOError13 (_IVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newMVar :: a -> _State _RealWorld -> (Either IOError13 (_MVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putMVar :: _MVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readIVar :: _IVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readMVar :: _MVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+swapMVar :: _MVar a -> a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+takeMVar :: _MVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+threadDelay :: Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+threadWait :: Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+writeIVar :: _IVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newSampleVar :: _State _RealWorld -> (Either IOError13 (_MVar (Int, _MVar a)), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readSample :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+writeSample :: _MVar (Int, _MVar a) -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newQSem :: Int -> _State _RealWorld -> (Either IOError13 QSem, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newQSemN :: Int -> _State _RealWorld -> (Either IOError13 QSemN, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Concurrent_mp.hi b/ghc/lib/prelude/Concurrent_mp.hi
new file mode 100644
index 0000000000..9a815f8ef6
--- /dev/null
+++ b/ghc/lib/prelude/Concurrent_mp.hi
@@ -0,0 +1,93 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Concurrent where
+import Channel(Chan(..), dupChan, getChan, getChanContents, newChan, putChan, unGetChan)
+import ChannelVar(CVar(..), getCVar, newCVar, putCVar)
+import Merge(mergeIO, nmergeIO)
+import Parallel(par, seq)
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(IVar(..), MVar(..), _IVar, _MVar, newEmptyMVar, newIVar, newMVar, putMVar, readIVar, readMVar, swapMVar, takeMVar, threadDelay, threadWait, writeIVar)
+import SampleVar(SampleVar(..), emptySampleVar, newSampleVar, readSample, writeSample)
+import Semaphore(QSem(..), QSemN(..), newQSem, newQSemN, signalQSem, signalQSemN, waitQSem, waitQSemN)
+infixr 0 `par`
+infixr 1 `seq`
+data Chan a
+data CVar a {-# GHC_PRAGMA CVar (_MVar a) (_MVar ()) #-}
+type IVar a = _IVar a
+type MVar a = _MVar a
+data _IVar a {-# GHC_PRAGMA _IVar (SynchVar# _RealWorld a) #-}
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+type SampleVar a = _MVar (Int, _MVar a)
+data QSem {-# GHC_PRAGMA QSem (_MVar (Int, [_MVar ()])) #-}
+data QSemN {-# GHC_PRAGMA QSemN (_MVar (Int, [(Int, _MVar ())])) #-}
+dupChan :: Chan a -> _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+emptySampleVar :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+forkIO :: (_State _RealWorld -> (Either IOError13 (), _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+getChan :: Chan a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+getChanContents :: Chan a -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+newChan :: _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "SLS" _N_ _N_ #-}
+unGetChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "SLS" _N_ _N_ #-}
+getCVar :: CVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newCVar :: _State _RealWorld -> (Either IOError13 (CVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putCVar :: CVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(LU(P))LU(P)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+mergeIO :: [a] -> [a] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 001 _N_ _S_ "AAU(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+nmergeIO :: [[a]] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AU(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+par :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> case _#_ par# [u0] [u2] of { _PRIM_ 0# -> _TYAPP_ parError# { u1 }; (u4 :: Int#) -> u3 } _N_ #-}
+seq :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> case _#_ seq# [u0] [u2] of { _PRIM_ 0# -> _TYAPP_ parError# { u1 }; (u4 :: Int#) -> u3 } _N_ #-}
+newEmptyMVar :: _State _RealWorld -> (Either IOError13 (_MVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newIVar :: _State _RealWorld -> (Either IOError13 (_IVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newMVar :: a -> _State _RealWorld -> (Either IOError13 (_MVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putMVar :: _MVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readIVar :: _IVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readMVar :: _MVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+swapMVar :: _MVar a -> a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+takeMVar :: _MVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+threadDelay :: Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+threadWait :: Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+writeIVar :: _IVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newSampleVar :: _State _RealWorld -> (Either IOError13 (_MVar (Int, _MVar a)), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readSample :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+writeSample :: _MVar (Int, _MVar a) -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newQSem :: Int -> _State _RealWorld -> (Either IOError13 QSem, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newQSemN :: Int -> _State _RealWorld -> (Either IOError13 QSemN, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Concurrent_p.hi b/ghc/lib/prelude/Concurrent_p.hi
new file mode 100644
index 0000000000..29976ccd5b
--- /dev/null
+++ b/ghc/lib/prelude/Concurrent_p.hi
@@ -0,0 +1,93 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Concurrent where
+import Channel(Chan(..), dupChan, getChan, getChanContents, newChan, putChan, unGetChan)
+import ChannelVar(CVar(..), getCVar, newCVar, putCVar)
+import Merge(mergeIO, nmergeIO)
+import Parallel(par, seq)
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(IVar(..), MVar(..), _IVar, _MVar, newEmptyMVar, newIVar, newMVar, putMVar, readIVar, readMVar, swapMVar, takeMVar, threadDelay, threadWait, writeIVar)
+import SampleVar(SampleVar(..), emptySampleVar, newSampleVar, readSample, writeSample)
+import Semaphore(QSem(..), QSemN(..), newQSem, newQSemN, signalQSem, signalQSemN, waitQSem, waitQSemN)
+infixr 0 `par`
+infixr 1 `seq`
+data Chan a
+data CVar a {-# GHC_PRAGMA CVar (_MVar a) (_MVar ()) #-}
+type IVar a = _IVar a
+type MVar a = _MVar a
+data _IVar a {-# GHC_PRAGMA _IVar (SynchVar# _RealWorld a) #-}
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+type SampleVar a = _MVar (Int, _MVar a)
+data QSem {-# GHC_PRAGMA QSem (_MVar (Int, [_MVar ()])) #-}
+data QSemN {-# GHC_PRAGMA QSemN (_MVar (Int, [(Int, _MVar ())])) #-}
+dupChan :: Chan a -> _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+emptySampleVar :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+forkIO :: (_State _RealWorld -> (Either IOError13 (), _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+getChan :: Chan a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+getChanContents :: Chan a -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+newChan :: _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "SLS" _N_ _N_ #-}
+unGetChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "SLS" _N_ _N_ #-}
+getCVar :: CVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newCVar :: _State _RealWorld -> (Either IOError13 (CVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putCVar :: CVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(LU(P))LU(P)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+mergeIO :: [a] -> [a] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 001 _N_ _S_ "AAU(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+nmergeIO :: [[a]] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AU(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+par :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AS" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> u3 _N_ #-}
+seq :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AS" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> u3 _N_ #-}
+newEmptyMVar :: _State _RealWorld -> (Either IOError13 (_MVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newIVar :: _State _RealWorld -> (Either IOError13 (_IVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newMVar :: a -> _State _RealWorld -> (Either IOError13 (_MVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putMVar :: _MVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readIVar :: _IVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readMVar :: _MVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+swapMVar :: _MVar a -> a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+takeMVar :: _MVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+threadDelay :: Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+threadWait :: Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+writeIVar :: _IVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newSampleVar :: _State _RealWorld -> (Either IOError13 (_MVar (Int, _MVar a)), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readSample :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+writeSample :: _MVar (Int, _MVar a) -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newQSem :: Int -> _State _RealWorld -> (Either IOError13 QSem, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newQSemN :: Int -> _State _RealWorld -> (Either IOError13 QSemN, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Concurrent_t.hi b/ghc/lib/prelude/Concurrent_t.hi
new file mode 100644
index 0000000000..29976ccd5b
--- /dev/null
+++ b/ghc/lib/prelude/Concurrent_t.hi
@@ -0,0 +1,93 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Concurrent where
+import Channel(Chan(..), dupChan, getChan, getChanContents, newChan, putChan, unGetChan)
+import ChannelVar(CVar(..), getCVar, newCVar, putCVar)
+import Merge(mergeIO, nmergeIO)
+import Parallel(par, seq)
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(IVar(..), MVar(..), _IVar, _MVar, newEmptyMVar, newIVar, newMVar, putMVar, readIVar, readMVar, swapMVar, takeMVar, threadDelay, threadWait, writeIVar)
+import SampleVar(SampleVar(..), emptySampleVar, newSampleVar, readSample, writeSample)
+import Semaphore(QSem(..), QSemN(..), newQSem, newQSemN, signalQSem, signalQSemN, waitQSem, waitQSemN)
+infixr 0 `par`
+infixr 1 `seq`
+data Chan a
+data CVar a {-# GHC_PRAGMA CVar (_MVar a) (_MVar ()) #-}
+type IVar a = _IVar a
+type MVar a = _MVar a
+data _IVar a {-# GHC_PRAGMA _IVar (SynchVar# _RealWorld a) #-}
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+type SampleVar a = _MVar (Int, _MVar a)
+data QSem {-# GHC_PRAGMA QSem (_MVar (Int, [_MVar ()])) #-}
+data QSemN {-# GHC_PRAGMA QSemN (_MVar (Int, [(Int, _MVar ())])) #-}
+dupChan :: Chan a -> _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+emptySampleVar :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+forkIO :: (_State _RealWorld -> (Either IOError13 (), _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+getChan :: Chan a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+getChanContents :: Chan a -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+newChan :: _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "SLS" _N_ _N_ #-}
+unGetChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "SLS" _N_ _N_ #-}
+getCVar :: CVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newCVar :: _State _RealWorld -> (Either IOError13 (CVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putCVar :: CVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(LU(P))LU(P)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+mergeIO :: [a] -> [a] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 001 _N_ _S_ "AAU(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+nmergeIO :: [[a]] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AU(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+par :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AS" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> u3 _N_ #-}
+seq :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AS" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> u3 _N_ #-}
+newEmptyMVar :: _State _RealWorld -> (Either IOError13 (_MVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newIVar :: _State _RealWorld -> (Either IOError13 (_IVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newMVar :: a -> _State _RealWorld -> (Either IOError13 (_MVar a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+putMVar :: _MVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readIVar :: _IVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readMVar :: _MVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+swapMVar :: _MVar a -> a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+takeMVar :: _MVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+threadDelay :: Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+threadWait :: Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+writeIVar :: _IVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newSampleVar :: _State _RealWorld -> (Either IOError13 (_MVar (Int, _MVar a)), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readSample :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+writeSample :: _MVar (Int, _MVar a) -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newQSem :: Int -> _State _RealWorld -> (Either IOError13 QSem, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newQSemN :: Int -> _State _RealWorld -> (Either IOError13 QSemN, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Core.hi b/ghc/lib/prelude/Core.hi
new file mode 100644
index 0000000000..1632945de5
--- /dev/null
+++ b/ghc/lib/prelude/Core.hi
@@ -0,0 +1,45 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple2)
+import PreludeRatio(Ratio(..))
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_integer_0 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ #-}
+_integer_1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ #-}
+_integer_m1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+_properFraction :: (RealFloat b, Integral a) => b -> (a, b)
+ {-# GHC_PRAGMA _A_ 2 _U_ 112 _N_ _S_ "U(ALLAASLAAA)L" {_A_ 5 _U_ 111112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+fromRationalX :: RealFloat a => Ratio Integer -> a
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+i0__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [0#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Int ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ } #-}
+i1__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [1#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Int ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ } #-}
+i2__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [2#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _N_ #-}
+iminus1__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+int2Integer :: Int -> Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+r0__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ (Ratio Integer) ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ } #-}
+r1__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+rhalf__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ (Ratio Integer) ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/Core.hs b/ghc/lib/prelude/Core.hs
new file mode 100644
index 0000000000..921c08d544
--- /dev/null
+++ b/ghc/lib/prelude/Core.hs
@@ -0,0 +1,326 @@
+module PreludeCore (
+ _integer_0,
+ _integer_1,
+ _integer_m1,
+ fromRationalX,
+ i0__,
+ i1__,
+ i2__,
+ iminus1__,
+ int2Integer,
+ _showRational,
+ r0__,
+ r1__,
+ rhalf__,
+ _readList, _showList,
+ _properFraction, _truncate, _round, _ceiling, _floor
+ ) where
+
+import Cls
+import IChar -- instances
+import IDouble
+import IFloat
+import IInt
+import IInteger
+import IList
+import IRatio
+import List ( reverse, dropWhile, take, drop, repeat, (++), head, tail )
+import Prel ( (&&), (^^), (^), not, otherwise, asTypeOf, const, (.) )
+import PS ( _PackedString, _unpackPS )
+import Text
+import TyComplex -- for pragmas
+
+-----------------------------------------------------------------
+-- some *** NON-STANDARD *** constants (to help compiling Cls.hs)
+
+i0__, iminus1__, i1__, i2__ :: Num a => a
+
+{-# SPECIALIZE i0__ :: Int, Integer #-}
+
+i0__ = fromInteger 0
+iminus1__ = fromInteger (-1)
+i1__ = fromInteger 1
+i2__ = fromInteger 2
+
+r0__, rhalf__, r1__ :: Fractional a => a
+
+r0__ = fromRational 0
+rhalf__ = fromRational 0.5
+r1__ = fromRational 1
+
+-- other bits of PreludeCore that aren't classes, instances, etc.
+
+{- OLD:
+absReal :: (Real a) => a -> a
+absReal x | x >= 0 = x
+ | otherwise = - x
+
+signumReal :: (Real a) => a -> a
+signumReal x | x == 0 = 0
+ | x > 0 = 1
+ | otherwise = -1
+-}
+
+{- *RAW PRELUDE*: NOT REALLY USED:
+numericEnumFrom :: (Real a) => a -> [a]
+numericEnumFromThen :: (Real a) => a -> a -> [a]
+numericEnumFrom = iterate (+1)
+numericEnumFromThen n m = iterate (+(m-n)) n
+-}
+
+{- OLD:
+realFloatToRational :: (RealFloat a) => a -> Rational
+realFloatToRational x = (m%1)*(b%1)^^n
+ where (m,n) = decodeFloat x
+ b = floatRadix x
+-}
+
+{-
+[In response to a request by simonpj, Joe Fasel writes:]
+
+A quite reasonable request! This code was added to the Prelude just
+before the 1.2 release, when Lennart, working with an early version
+of hbi, noticed that (read . show) was not the identity for
+floating-point numbers. (There was a one-bit error about half the time.)
+The original version of the conversion function was in fact simply
+a floating-point divide, as you suggest above. The new version is,
+I grant you, somewhat denser.
+
+How's this?
+
+--Joe
+-}
+
+--{-# GENERATE_SPECS rationalToRealFloat a{Double#,Double} #-}
+rationalToRealFloat :: (RealFloat a) => Rational -> a
+
+rationalToRealFloat x = x'
+ where x' = f e
+
+-- If the exponent of the nearest floating-point number to x
+-- is e, then the significand is the integer nearest xb^(-e),
+-- where b is the floating-point radix. We start with a good
+-- guess for e, and if it is correct, the exponent of the
+-- floating-point number we construct will again be e. If
+-- not, one more iteration is needed.
+
+ f e = if e' == e then y else f e'
+ where y = encodeFloat (round (x * (1%b)^^e)) e
+ (_,e') = decodeFloat y
+ b = floatRadix x'
+
+-- We obtain a trial exponent by doing a floating-point
+-- division of x's numerator by its denominator. The
+-- result of this division may not itself be the ultimate
+-- result, because of an accumulation of three rounding
+-- errors.
+
+ (s,e) = decodeFloat (fromInteger (numerator x) `asTypeOf` x'
+ / fromInteger (denominator x))
+
+-------------------------------------------------------------------------
+-- These RealFrac things are here so we can
+-- SPECIALIZE the tapookies out of them.
+-- Also: get rid of gratuitous lazy pattern matching.
+
+_properFraction :: (RealFloat a, Integral b) => a -> (b,a)
+_truncate, _round :: (RealFrac a, Integral b) => a -> b
+_ceiling, _floor :: (RealFrac a, Integral b) => a -> b
+
+{-# SPECIALIZE _properFraction
+ :: Double -> (Int, Double)
+ #-}
+{-# SPECIALIZE _truncate
+ :: Double -> Int
+ #-}
+{-# SPECIALIZE _round
+ :: Double -> Int,
+ Rational -> Integer
+ #-}
+{-# SPECIALIZE _ceiling
+ :: Double -> Int
+ #-}
+{-# SPECIALIZE _floor
+ :: Double -> Int
+ #-}
+
+_properFraction x
+ = case (decodeFloat x) of { (m,n) ->
+ let b = floatRadix x in
+ if n >= 0 then
+ (fromInteger m * fromInteger b ^ n, 0)
+ else
+ case (quotRem m (b^(-n))) of { (w,r) ->
+ (fromInteger w, encodeFloat r n)
+ }
+ }
+
+_truncate x = case (properFraction x) of { (m, _) -> m }
+
+_round x
+ -- this defn differs from that in the report; uses _tagCmp
+ --
+ = case (properFraction x) of { (n,r) ->
+ let
+ m = if r < r0__ then n - i1__ else n + i1__
+ sign = signum (abs r - rhalf__) --UNUSED!
+
+ half_down = abs r - rhalf__
+ in
+ case (_tagCmp half_down r0__) of
+ _LT -> n
+ _EQ -> if even n then n else m
+ _GT -> m
+{- OLD:
+ if sign == iminus1__ then n
+ else if sign == i0__ then (if even n then n else m)
+ else if sign == i1__ then m
+ else error "_round{PreludeCore}: no match in sign\n"
+-}
+ }
+
+_ceiling x
+ = case (properFraction x) of { (n,r) ->
+ if r > r0__ then n + i1__ else n }
+
+_floor x
+ = case (properFraction x) of { (n,r) ->
+ if r < r0__ then n - i1__ else n }
+
+-------------------------------------------------------------------------
+-- from/by Lennart, 94/09/26
+
+--module Rational(prRational, fromRationalX, tinyDouble, tinyFloat, hugeDouble, hugeFloat, tiny, huge, integerLogBase) where
+
+-- Convert a Rational to a string that looks like a floating point number,
+-- but without converting to any floating type (because of the possible overflow).
+_showRational :: Int -> Rational -> String
+_showRational n r =
+ if r == 0 then
+ "0.0"
+ else
+ let (r', e) = normalize r
+ in prR n r' e
+
+startExpExp = 4 :: Int
+
+-- make sure 1 <= r < 10
+normalize :: Rational -> (Rational, Int)
+normalize r = if r < 1 then case norm startExpExp (1 / r) 0 of (r', e) -> (10 / r', -e-1) else norm startExpExp r 0
+ where norm :: Int -> Rational -> Int -> (Rational, Int)
+ -- Invariant: r*10^e == original r
+ norm 0 r e = (r, e)
+ norm ee r e =
+ let n = 10^ee
+ tn = 10^n
+ in if r >= tn then norm ee (r/tn) (e+n) else norm (ee-1) r e
+
+drop0 "" = ""
+drop0 (c:cs) = c : reverse (dropWhile (=='0') (reverse cs))
+
+prR :: Int -> Rational -> Int -> String
+prR n r e | r < 1 = prR n (r*10) (e-1) -- final adjustment
+prR n r e | r >= 10 = prR n (r/10) (e+1)
+prR n r e0 =
+ let s = show ((_round (r * 10^n))::Integer)
+ e = e0+1
+ in if e > 0 && e < 8 then
+ take e s ++ "." ++ drop0 (drop e s)
+ else if e <= 0 && e > -3 then
+ "0." ++ take (-e) (repeat '0') ++ drop0 s
+ else
+ head s : "."++ drop0 (tail s) ++ "e" ++ show e0
+
+------------
+
+-- The Prelude version of fromRational is broken; if the denominator or nominator is
+-- out of range it fails. So we use this (very expensive!) version instead.
+
+fromRationalX :: (RealFloat a) => Rational -> a
+
+fromRationalX r =
+ rationalToRealFloat r
+{- Hmmm...
+ let
+ h = ceiling (huge `asTypeOf` x)
+ b = toInteger (floatRadix x)
+ x = fromRat 0 r
+
+ fromRat e0 r' =
+{--} _trace (shows e0 ('/' : shows r' ('/' : shows h "\n"))) (
+ let d = denominator r'
+ n = numerator r'
+ in if d > h then
+ let e = integerLogBase b (d `div` h) + 1
+ in fromRat (e0-e) (n % (d `div` (b^e)))
+ else if abs n > h then
+ let e = integerLogBase b (abs n `div` h) + 1
+ in fromRat (e0+e) ((n `div` (b^e)) % d)
+ else
+ scaleFloat e0 (rationalToRealFloat r')
+ -- now that we know things are in-bounds,
+ -- we use the "old" Prelude code.
+{--} )
+ in x
+-}
+
+-- Compute the discrete log of i in base b.
+-- Simplest way would be just divide i by b until it's smaller then b, but that would
+-- be very slow! We are just slightly more clever.
+integerLogBase :: Integer -> Integer -> Int
+integerLogBase b i =
+ if i < b then
+ 0
+ else
+ -- Try squaring the base first to cut down the number of divisions.
+ let l = 2 * integerLogBase (b*b) i
+ doDiv :: Integer -> Int -> Int
+ doDiv i l = if i < b then l else doDiv (i `div` b) (l+1)
+ in doDiv (i `div` (b^l)) l
+
+
+------------
+
+-- Compute smallest and largest floating point values.
+tiny :: (RealFloat a) => a
+tiny =
+ let (l, _) = floatRange x
+ x = encodeFloat 1 (l-1)
+ in x
+
+huge :: (RealFloat a) => a
+huge =
+ let (_, u) = floatRange x
+ d = floatDigits x
+ x = encodeFloat (floatRadix x ^ d - 1) (u - d)
+ in x
+
+tinyDouble = tiny :: Double
+tinyFloat = tiny :: Float
+hugeDouble = huge :: Double
+hugeFloat = huge :: Float
+
+-----------------------------------------------------------------
+-- It is problematic having this in Cls.hs
+-- (You really don't want to know why -- WDP 94/12)
+--
+_readList :: Text a => ReadS [a]
+
+_readList = readParen False (\r -> [pr | ("[",s) <- lex r,
+ pr <- readl s])
+ where readl s = [([],t) | ("]",t) <- lex s] ++
+ [(x:xs,u) | (x,t) <- reads s,
+ (xs,u) <- readl2 t]
+ readl2 s = [([],t) | ("]",t) <- lex s] ++
+ [(x:xs,v) | (",",t) <- lex s,
+ (x,u) <- reads t,
+ (xs,v) <- readl2 u]
+
+_showList :: Text a => [a] -> ShowS
+
+_showList [] = showString "[]"
+_showList (x:xs)
+ = showChar '[' . shows x . showl xs
+
+ where showl [] = showChar ']'
+ showl (x:xs) = showString ", " . shows x . showl xs
diff --git a/ghc/lib/prelude/Core_mc.hi b/ghc/lib/prelude/Core_mc.hi
new file mode 100644
index 0000000000..1632945de5
--- /dev/null
+++ b/ghc/lib/prelude/Core_mc.hi
@@ -0,0 +1,45 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple2)
+import PreludeRatio(Ratio(..))
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_integer_0 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ #-}
+_integer_1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ #-}
+_integer_m1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+_properFraction :: (RealFloat b, Integral a) => b -> (a, b)
+ {-# GHC_PRAGMA _A_ 2 _U_ 112 _N_ _S_ "U(ALLAASLAAA)L" {_A_ 5 _U_ 111112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+fromRationalX :: RealFloat a => Ratio Integer -> a
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+i0__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [0#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Int ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ } #-}
+i1__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [1#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Int ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ } #-}
+i2__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [2#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _N_ #-}
+iminus1__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+int2Integer :: Int -> Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+r0__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ (Ratio Integer) ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ } #-}
+r1__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+rhalf__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ (Ratio Integer) ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/Core_mg.hi b/ghc/lib/prelude/Core_mg.hi
new file mode 100644
index 0000000000..1632945de5
--- /dev/null
+++ b/ghc/lib/prelude/Core_mg.hi
@@ -0,0 +1,45 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple2)
+import PreludeRatio(Ratio(..))
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_integer_0 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ #-}
+_integer_1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ #-}
+_integer_m1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+_properFraction :: (RealFloat b, Integral a) => b -> (a, b)
+ {-# GHC_PRAGMA _A_ 2 _U_ 112 _N_ _S_ "U(ALLAASLAAA)L" {_A_ 5 _U_ 111112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+fromRationalX :: RealFloat a => Ratio Integer -> a
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+i0__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [0#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Int ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ } #-}
+i1__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [1#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Int ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ } #-}
+i2__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [2#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _N_ #-}
+iminus1__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+int2Integer :: Int -> Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+r0__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ (Ratio Integer) ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ } #-}
+r1__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+rhalf__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ (Ratio Integer) ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/Core_mp.hi b/ghc/lib/prelude/Core_mp.hi
new file mode 100644
index 0000000000..1632945de5
--- /dev/null
+++ b/ghc/lib/prelude/Core_mp.hi
@@ -0,0 +1,45 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple2)
+import PreludeRatio(Ratio(..))
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_integer_0 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ #-}
+_integer_1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ #-}
+_integer_m1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+_properFraction :: (RealFloat b, Integral a) => b -> (a, b)
+ {-# GHC_PRAGMA _A_ 2 _U_ 112 _N_ _S_ "U(ALLAASLAAA)L" {_A_ 5 _U_ 111112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+fromRationalX :: RealFloat a => Ratio Integer -> a
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+i0__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [0#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Int ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ } #-}
+i1__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [1#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Int ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ } #-}
+i2__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [2#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _N_ #-}
+iminus1__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+int2Integer :: Int -> Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+r0__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ (Ratio Integer) ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ } #-}
+r1__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+rhalf__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ (Ratio Integer) ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/Core_mr.hi b/ghc/lib/prelude/Core_mr.hi
new file mode 100644
index 0000000000..1632945de5
--- /dev/null
+++ b/ghc/lib/prelude/Core_mr.hi
@@ -0,0 +1,45 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple2)
+import PreludeRatio(Ratio(..))
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_integer_0 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ #-}
+_integer_1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ #-}
+_integer_m1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+_properFraction :: (RealFloat b, Integral a) => b -> (a, b)
+ {-# GHC_PRAGMA _A_ 2 _U_ 112 _N_ _S_ "U(ALLAASLAAA)L" {_A_ 5 _U_ 111112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+fromRationalX :: RealFloat a => Ratio Integer -> a
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+i0__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [0#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Int ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ } #-}
+i1__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [1#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Int ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ } #-}
+i2__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [2#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _N_ #-}
+iminus1__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+int2Integer :: Int -> Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+r0__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ (Ratio Integer) ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ } #-}
+r1__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+rhalf__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ (Ratio Integer) ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/Core_mt.hi b/ghc/lib/prelude/Core_mt.hi
new file mode 100644
index 0000000000..1632945de5
--- /dev/null
+++ b/ghc/lib/prelude/Core_mt.hi
@@ -0,0 +1,45 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple2)
+import PreludeRatio(Ratio(..))
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_integer_0 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ #-}
+_integer_1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ #-}
+_integer_m1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+_properFraction :: (RealFloat b, Integral a) => b -> (a, b)
+ {-# GHC_PRAGMA _A_ 2 _U_ 112 _N_ _S_ "U(ALLAASLAAA)L" {_A_ 5 _U_ 111112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+fromRationalX :: RealFloat a => Ratio Integer -> a
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+i0__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [0#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Int ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ } #-}
+i1__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [1#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Int ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ } #-}
+i2__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [2#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _N_ #-}
+iminus1__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+int2Integer :: Int -> Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+r0__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ (Ratio Integer) ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ } #-}
+r1__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+rhalf__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ (Ratio Integer) ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/Core_p.hi b/ghc/lib/prelude/Core_p.hi
new file mode 100644
index 0000000000..1632945de5
--- /dev/null
+++ b/ghc/lib/prelude/Core_p.hi
@@ -0,0 +1,45 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple2)
+import PreludeRatio(Ratio(..))
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_integer_0 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ #-}
+_integer_1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ #-}
+_integer_m1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+_properFraction :: (RealFloat b, Integral a) => b -> (a, b)
+ {-# GHC_PRAGMA _A_ 2 _U_ 112 _N_ _S_ "U(ALLAASLAAA)L" {_A_ 5 _U_ 111112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+fromRationalX :: RealFloat a => Ratio Integer -> a
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+i0__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [0#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Int ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ } #-}
+i1__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [1#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Int ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ } #-}
+i2__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [2#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _N_ #-}
+iminus1__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+int2Integer :: Int -> Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+r0__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ (Ratio Integer) ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ } #-}
+r1__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+rhalf__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ (Ratio Integer) ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/Core_t.hi b/ghc/lib/prelude/Core_t.hi
new file mode 100644
index 0000000000..1632945de5
--- /dev/null
+++ b/ghc/lib/prelude/Core_t.hi
@@ -0,0 +1,45 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple2)
+import PreludeRatio(Ratio(..))
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_integer_0 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ #-}
+_integer_1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ #-}
+_integer_m1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+_properFraction :: (RealFloat b, Integral a) => b -> (a, b)
+ {-# GHC_PRAGMA _A_ 2 _U_ 112 _N_ _S_ "U(ALLAASLAAA)L" {_A_ 5 _U_ 111112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+fromRationalX :: RealFloat a => Ratio Integer -> a
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+i0__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [0#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Int ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ } #-}
+i1__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [1#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Int ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ } #-}
+i2__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(u2 :: Integer) = _#_ int2Integer# [] [2#]} in case u1 of { _ALG_ _TUP_10 (u3 :: {{Eq u0}}) (u4 :: {{Text u0}}) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: Integer -> u0) (uc :: Int -> u0) -> _APP_ ub [ u2 ]; _NO_DEFLT_ } _N_ #-}
+iminus1__ :: Num a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAAAAAASA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+int2Integer :: Int -> Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+r0__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ (Ratio Integer) ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ } #-}
+r1__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+rhalf__ :: Fractional a => a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ }, [ (Ratio Integer) ] 1 { _A_ 0 _N_ _N_ _N_ _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/FoldrBuild.hs b/ghc/lib/prelude/FoldrBuild.hs
new file mode 100644
index 0000000000..6201af4857
--- /dev/null
+++ b/ghc/lib/prelude/FoldrBuild.hs
@@ -0,0 +1,20 @@
+module PreludeFoldrBuild where
+
+import Builtin (error)
+
+-----------------------------------------------------------------
+-- This needs to be in a sperate module, other than in List.hs
+-- NOTE: no foldr/build's are done on the module that foldr is defined in.
+
+{-# MAGIC_UNFOLDING foldr foldr #-}
+foldr :: (a -> b -> b) -> b -> [a] -> b
+foldr f z [] = z
+foldr f z (x:xs) = f x (foldr f z xs)
+
+{-# MAGIC_UNFOLDING foldl foldl #-}
+--{-# GENERATE_SPECS foldl a b #-}
+foldl :: (a -> b -> a) -> a -> [b] -> a
+foldl f z [] = z
+foldl f z (x:xs) = foldl f (f z x) xs
+
+
diff --git a/ghc/lib/prelude/IArray.hi b/ghc/lib/prelude/IArray.hi
new file mode 100644
index 0000000000..e419d9766b
--- /dev/null
+++ b/ghc/lib/prelude/IArray.hi
@@ -0,0 +1,45 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeArray where
+import PreludeBuiltin(List(..), Tuple2)
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b {-# GHC_PRAGMA (:=) a b #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IArray.hs b/ghc/lib/prelude/IArray.hs
new file mode 100644
index 0000000000..eec3b04f2d
--- /dev/null
+++ b/ghc/lib/prelude/IArray.hs
@@ -0,0 +1,285 @@
+-- *** all of PreludeArray except the actual data decls
+
+module PreludeArray (
+ Array, Assoc,
+
+ (!),
+ (//),
+ accum,
+ accumArray,
+ amap,
+ array,
+ assocs,
+ bounds,
+ elems,
+ indices,
+ ixmap,
+ listArray
+ ) where
+
+import Cls
+import Core
+import IChar
+import IInt -- instances
+import IList
+import ITup2
+import List ( (++), zipWith, foldr )
+import Prel ( (&&), (.) )
+import PS ( _PackedString, _unpackPS )
+import Text
+import TyArray ( Array(..), Assoc(..) )
+import PreludeGlaST
+
+-- Hey! This isn't wimp Haskell-report code! This is
+-- the Business End of Arrays...
+
+--infixl 9 !
+--infixl 9 //
+--infix 1 :=
+
+-----------------------------------------------------------
+instance (Eq a, Eq b) => Eq (Assoc a b) where
+ (a1 := b1) == (a2 := b2) = a1 == a2 && b1 == b2
+ a /= b = if a == b then False else True
+
+instance (Ord a, Ord b) => Ord (Assoc a b) where
+ a < b = case _tagCmp a b of { _LT -> True; _EQ -> False; _GT -> False }
+ a <= b = case _tagCmp a b of { _LT -> True; _EQ -> True; _GT -> False }
+ a >= b = case _tagCmp a b of { _LT -> False; _EQ -> True; _GT -> True }
+ a > b = case _tagCmp a b of { _LT -> False; _EQ -> False; _GT -> True }
+ max a b = case _tagCmp a b of { _LT -> b; _EQ -> a; _GT -> a }
+ min a b = case _tagCmp a b of { _LT -> a; _EQ -> a; _GT -> b }
+ _tagCmp (a1 := b1) (a2 := b2)
+ = case (_tagCmp a1 a2) of { _LT -> _LT; _GT -> _GT; _EQ -> _tagCmp b1 b2 }
+
+instance (Ix a, Ix b) => Ix (Assoc a b) where
+ range (l1 := l2, u1 := u2)
+ = [ (i1 := i2) | i1 <- range (l1, u1), i2 <- range (l2, u2) ]
+
+ index (l1 := l2, u1 := u2) (i1 := i2)
+ = index (l1, u1) i1 * (index (l2, u2) u2 + 1){-rangeSize (l2, u2)-} + index (l2, u2) i2
+
+ inRange (l1 := l2, u1 := u2) (i1 := i2)
+ = inRange (l1, u1) i1 && inRange (l2, u2) i2
+
+instance (Text a, Text b) => Text (Assoc a b) where
+ -- magic fixity wired in: infix 1 :=
+ readsPrec p
+ = readParen ( p > 1 )
+ (\ r -> [ (x := y, s2) | (x, s0) <- readsPrec 2 r,
+ (":=", s1) <- lex s0,
+ (y, s2) <- readsPrec 2 s1 ])
+ showsPrec d (a := b)
+ = showParen (d > 1)
+ (showsPrec 2 a . showString " := " . showsPrec 2 b)
+
+-- ToDo: *** Binary
+
+-----------------------------------------------------------
+
+type IPr = (Int, Int)
+
+{-# GENERATE_SPECS array a{~,Int,IPr} b{} #-}
+array :: (Ix a) => (a,a) -> [Assoc a b] -> Array a b
+
+{-# GENERATE_SPECS (!) a{~,Int,IPr} b{} #-}
+(!) :: (Ix a) => Array a b -> a -> b
+
+bounds :: Array a b -> (a,a)
+
+{-# GENERATE_SPECS listArray a{~,Int,IPr} b{} #-}
+listArray :: (Ix a) => (a,a) -> [b] -> Array a b
+
+{-# GENERATE_SPECS indices a{~,Int,IPr} b{} #-}
+indices :: (Ix a) => Array a b -> [a]
+
+{-# GENERATE_SPECS elems a{~,Int,IPr} b{} #-}
+elems :: (Ix a) => Array a b -> [b]
+
+{-# GENERATE_SPECS assocs a{~,Int,IPr} b{} #-}
+assocs :: (Ix a) => Array a b -> [Assoc a b]
+
+{-# GENERATE_SPECS accumArray a{~,Int,IPr} b{} c{} #-}
+accumArray :: (Ix a) => (b -> c -> b) -> b -> (a,a) -> [Assoc a c] -> Array a b
+
+{-# GENERATE_SPECS (//) a{~,Int,IPr} b{} #-}
+(//) :: (Ix a) => Array a b -> [Assoc a b] -> Array a b
+
+{-# GENERATE_SPECS accum a{~,Int,IPr} b{} c{} #-}
+accum :: (Ix a) => (b -> c -> b) -> Array a b -> [Assoc a c] -> Array a b
+
+{-# GENERATE_SPECS amap a{~,Int,IPr} b{} c{} #-}
+amap :: (Ix a) => (b -> c) -> Array a b -> Array a c
+
+ixmap :: (Ix a, Ix b) => (a,a) -> (a -> b) -> Array b c -> Array a c
+
+
+{- "array", "!" and "bounds" are basic;
+ the rest can be defined in terms of them
+-}
+
+bounds (_Array b _) = b
+
+array ixs@(ix_start, ix_end) ivs
+ = _runST (
+ newArray ixs arrEleBottom `thenStrictlyST` \ arr# ->
+ fill_it_in arr# ivs `seqStrictlyST`
+ freezeArray arr#
+ )
+ where
+ arrEleBottom = error "(!){PreludeArray}: undefined array element"
+
+(_Array bounds arr#) ! i
+ = let n# = case (index bounds i) of { I# x -> x } -- index fails if out of range
+ in
+ case (indexArray# arr# n#) of
+ _Lift v -> v
+
+fill_it_in arr lst s
+ = foldr fill_one_in (returnStrictlyST ()) lst s
+ where -- **** STRICT **** (but that's OK...)
+ fill_one_in (i := v) rst s
+ = (writeArray arr i v `seqStrictlyST` rst) s
+
+{- the rest ------------------------------------------------- -}
+
+listArray b vs = array b (zipWith (:=) (range b) vs)
+
+indices a = range (bounds a)
+
+elems a = [a!i | i <- indices a]
+
+assocs a = [i := a!i | i <- indices a]
+
+#ifdef USE_REPORT_PRELUDE
+a // us = array (bounds a)
+ ([i := a!i | i <- indices a \\ [i | i:=_ <- us]]
+ ++ us)
+
+accum f = foldl (\a (i := v) -> a // [i := f (a!i) v])
+
+accumArray f z b = accum f (array b [i := z | i <- range b])
+
+#else /* ! USE_REPORT_PRELUDE */
+
+old_array // ivs
+ = _runST (
+ -- copy the old array:
+ newArray (bounds old_array) bottom `thenStrictlyST` \ arr# ->
+ fill_it_in arr# (assocs old_array) `seqStrictlyST`
+ -- now write the new elements into the new array:
+ fill_it_in arr# ivs `seqStrictlyST`
+ freezeArray arr#
+ )
+ where
+ bottom = error "(//){PreludeArray}: error in copying old array\n"
+
+-- zap_with_f: reads an elem out first, then uses "f" on that and the new value
+
+zap_with_f f arr lst s
+ = foldr zap_one (returnStrictlyST ()) lst s
+ where
+ zap_one (i := new_v) rst s
+ = (readArray arr i `thenStrictlyST` \ old_v ->
+ writeArray arr i (f old_v new_v) `seqStrictlyST`
+ rst) s
+
+accum f arr ivs
+ = _runST (
+ -- copy the old array:
+ newArray (bounds arr) bottom `thenST` \ arr# ->
+ fill_it_in arr# (assocs arr) `seqST`
+
+ -- now zap the elements in question with "f":
+ zap_with_f f arr# ivs `seqST`
+ freezeArray arr#
+ )
+ where
+ bottom = error "accum{PreludeArray}: error in copying old array\n"
+
+accumArray f zero ixs ivs
+ = _runST (
+ newArray ixs zero `thenST` \ arr# ->
+ zap_with_f f arr# ivs `seqST`
+ freezeArray arr#
+ )
+#endif /* ! USE_REPORT_PRELUDE */
+
+amap f a = array b [i := f (a!i) | i <- range b]
+ where b = bounds a
+
+ixmap b f a = array b [i := a ! f i | i <- range b]
+
+instance (Ix a, Eq b) => Eq (Array a b) where
+ a == a' = assocs a == assocs a'
+ a /= a' = assocs a /= assocs a'
+
+instance (Ix a, Ord b) => Ord (Array a b) where
+ a < b = case _tagCmp a b of { _LT -> True; _EQ -> False; _GT -> False }
+ a <= b = case _tagCmp a b of { _LT -> True; _EQ -> True; _GT -> False }
+ a >= b = case _tagCmp a b of { _LT -> False; _EQ -> True; _GT -> True }
+ a > b = case _tagCmp a b of { _LT -> False; _EQ -> False; _GT -> True }
+
+ max a b = case _tagCmp a b of { _LT -> b; _EQ -> a; _GT -> a }
+ min a b = case _tagCmp a b of { _LT -> a; _EQ -> a; _GT -> b }
+
+ _tagCmp a b = _tagCmp (assocs a) (assocs b)
+
+instance (Ix a, Text a, Text b) => Text (Array a b) where
+ showsPrec p a = showParen (p > 9) (
+ showString "array " .
+ shows (bounds a) . showChar ' ' .
+ shows (assocs a) )
+
+ readsPrec p = readParen (p > 9)
+ (\r -> [(array b as, u) | ("array",s) <- lex r,
+ (b,t) <- reads s,
+ (as,u) <- reads t ]
+ ++
+ [(listArray b xs, u) | ("listArray",s) <- lex r,
+ (b,t) <- reads s,
+ (xs,u) <- reads t ])
+
+{- **** OMITTED **** (ToDo)
+instance (Ix a, Binary a, Binary b) => Binary (Array a b) where
+ showBin a = showBin (bounds a) . showBin (elems a)
+
+ readBin bin = (listArray b vs, bin'')
+ where (b,bin') = readBin bin
+ (vs,bin'') = readBin bin'
+-}
+{- ToDo ...
+
+#if defined(__UNBOXED_INSTANCES__)
+
+-- {-# GENERATE_SPECS array a{~,Int#,Int,IPr} b{Int#,Double#} #-}
+-- {-# GENERATE_SPECS (!) a{~,Int#,Int,IPr} b{Int#,Double#} #-}
+-- {-# GENERATE_SPECS bounds a{~,Int#} b{Int#,Double#} #-}
+-- {-# GENERATE_SPECS listArray a{~,Int#,Int,IPr} b{Int#,Double#} #-}
+-- {-# GENERATE_SPECS indices a{~,Int#,Int,IPr} b{Int#,Double#} #-}
+-- {-# GENERATE_SPECS elems a{~,Int#,Int,IPr} b{Int#,Double#} #-}
+-- {-# GENERATE_SPECS assocs a{~,Int#,Int,IPr} b{Int#,Double#} #-}
+-- {-# GENERATE_SPECS accumArray a{~,Int#,Int,IPr} b{Int#,Double#} c{Int#,Double#} #-}
+-- {-# GENERATE_SPECS (//) a{~,Int#,Int,IPr} b{Int#,Double#} #-}
+-- {-# GENERATE_SPECS accum a{~,Int#,Int,IPr} b{Int#,Double#} c{Int#,Double#} #-}
+-- {-# GENERATE_SPECS amap a{~,Int#,Int,IPr} b{Int#,Double#} c{Int#,Double#} #-}
+-- {-# GENERATE_SPECS ixmap a{~,Int#,Int} b{~,Int#,Int} c{Int#,Double#} #-}
+
+-- {-# GENERATE_SPECS instance a{Int#} b{Int#,Double#} :: Eq (Array a b) #-}
+-- {-# GENERATE_SPECS instance a{Int#} b{Int#,Double#} :: Ord (Array a b) #-}
+-- {-# GENERATE_SPECS instance a{Int#} b{Int#,Double#} :: Text (Array a b) #-}
+
+
+-- {-# GENERATE_SPECS instance a{Int} b{} :: Eq (Array a b) #-}
+This raises the question of ambiguous specialised instances:
+Which instance would be chosen for Array Int Int# ?
+Array Int b or Array a Int# ?
+
+-- {-# GENERATE_SPECS instance a{Int#} b{Int#,Double#} :: Eq (Assoc a b) #-}
+-- {-# GENERATE_SPECS instance a{Int#} b{Int#,Double#} :: Ord (Assoc a b) #-}
+-- {-# GENERATE_SPECS instance a{Int#} b{Int#,Double#} :: Ix (Assoc a b) #-}
+-- {-# GENERATE_SPECS instance a{Int#} b{Int#,Double#} :: Text (Assoc a b) #-}
+
+#endif
+
+-}
diff --git a/ghc/lib/prelude/IArray_mc.hi b/ghc/lib/prelude/IArray_mc.hi
new file mode 100644
index 0000000000..e419d9766b
--- /dev/null
+++ b/ghc/lib/prelude/IArray_mc.hi
@@ -0,0 +1,45 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeArray where
+import PreludeBuiltin(List(..), Tuple2)
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b {-# GHC_PRAGMA (:=) a b #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IArray_mg.hi b/ghc/lib/prelude/IArray_mg.hi
new file mode 100644
index 0000000000..e419d9766b
--- /dev/null
+++ b/ghc/lib/prelude/IArray_mg.hi
@@ -0,0 +1,45 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeArray where
+import PreludeBuiltin(List(..), Tuple2)
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b {-# GHC_PRAGMA (:=) a b #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IArray_mp.hi b/ghc/lib/prelude/IArray_mp.hi
new file mode 100644
index 0000000000..e419d9766b
--- /dev/null
+++ b/ghc/lib/prelude/IArray_mp.hi
@@ -0,0 +1,45 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeArray where
+import PreludeBuiltin(List(..), Tuple2)
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b {-# GHC_PRAGMA (:=) a b #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IArray_mr.hi b/ghc/lib/prelude/IArray_mr.hi
new file mode 100644
index 0000000000..e419d9766b
--- /dev/null
+++ b/ghc/lib/prelude/IArray_mr.hi
@@ -0,0 +1,45 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeArray where
+import PreludeBuiltin(List(..), Tuple2)
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b {-# GHC_PRAGMA (:=) a b #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IArray_mt.hi b/ghc/lib/prelude/IArray_mt.hi
new file mode 100644
index 0000000000..e419d9766b
--- /dev/null
+++ b/ghc/lib/prelude/IArray_mt.hi
@@ -0,0 +1,45 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeArray where
+import PreludeBuiltin(List(..), Tuple2)
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b {-# GHC_PRAGMA (:=) a b #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IArray_p.hi b/ghc/lib/prelude/IArray_p.hi
new file mode 100644
index 0000000000..e419d9766b
--- /dev/null
+++ b/ghc/lib/prelude/IArray_p.hi
@@ -0,0 +1,45 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeArray where
+import PreludeBuiltin(List(..), Tuple2)
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b {-# GHC_PRAGMA (:=) a b #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IArray_t.hi b/ghc/lib/prelude/IArray_t.hi
new file mode 100644
index 0000000000..e419d9766b
--- /dev/null
+++ b/ghc/lib/prelude/IArray_t.hi
@@ -0,0 +1,45 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeArray where
+import PreludeBuiltin(List(..), Tuple2)
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b {-# GHC_PRAGMA (:=) a b #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IBool.hi b/ghc/lib/prelude/IBool.hi
new file mode 100644
index 0000000000..de65c79734
--- /dev/null
+++ b/ghc/lib/prelude/IBool.hi
@@ -0,0 +1,33 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IBool.hs b/ghc/lib/prelude/IBool.hs
new file mode 100644
index 0000000000..24f5d1d1e3
--- /dev/null
+++ b/ghc/lib/prelude/IBool.hs
@@ -0,0 +1,71 @@
+module PreludeCore ( Bool(..) ) where
+
+import Prel ( (&&) )
+import Core
+import Cls
+import IChar
+import IInt
+import IList
+import List ( (++), map, foldr )
+import PS ( _PackedString, _unpackPS )
+import Text
+
+----------------------------------------------------------------------
+instance Eq Bool where
+ True == True = True
+ False == False = True
+ _ == _ = False
+
+ True /= False = True
+ False /= True = True
+ _ /= _ = False
+
+----------------------------------------------------------------------
+instance Ord Bool where
+ a < b = case _tagCmp a b of { _LT -> True; _EQ -> False; _GT -> False }
+ a <= b = case _tagCmp a b of { _LT -> True; _EQ -> True; _GT -> False }
+ a >= b = case _tagCmp a b of { _LT -> False; _EQ -> True; _GT -> True }
+ a > b = case _tagCmp a b of { _LT -> False; _EQ -> False; _GT -> True }
+
+ max a b = case _tagCmp a b of { _LT -> b; _EQ -> a; _GT -> a }
+ min a b = case _tagCmp a b of { _LT -> a; _EQ -> a; _GT -> b }
+
+ _tagCmp True True = _EQ
+ _tagCmp True False = _GT
+ _tagCmp False True = _LT
+ _tagCmp False False = _EQ
+
+----------------------------------------------------------------------
+instance Ix Bool where
+ range (l,u) = map bdecode [(bencode l) .. (bencode u)]
+ index (l,u) i = (bencode i) - (bencode l)
+ inRange (l,u) i = (bencode i) >= (bencode l) && (bencode i) <= (bencode u)
+
+bencode :: Bool -> Int
+bencode False = 0
+bencode True = 1
+
+bdecode :: Int -> Bool
+bdecode b = if b == 0 then False
+ else if b == 1 then True
+ else error "decode Bool\n"
+
+----------------------------------------------------------------------
+instance Enum Bool where
+ enumFrom False = [False, True]
+ enumFrom True = [True]
+
+ enumFromThen False True = [False, True]
+ enumFromThen True False = [True, False]
+ enumFromThen b _ = bs where bs = b : bs
+
+----------------------------------------------------------------------
+instance Text Bool where
+ readsPrec p
+ = readParen (p > 9)
+ (\ b -> [ (False, c) | ("False", c) <- lex b ]
+ ++ [ (True, c) | ("True", c) <- lex b ])
+
+ showsPrec d p r = (if p then "True" else "False") ++ r
+
+-- ToDo: Binary
diff --git a/ghc/lib/prelude/IBool_mc.hi b/ghc/lib/prelude/IBool_mc.hi
new file mode 100644
index 0000000000..de65c79734
--- /dev/null
+++ b/ghc/lib/prelude/IBool_mc.hi
@@ -0,0 +1,33 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IBool_mg.hi b/ghc/lib/prelude/IBool_mg.hi
new file mode 100644
index 0000000000..de65c79734
--- /dev/null
+++ b/ghc/lib/prelude/IBool_mg.hi
@@ -0,0 +1,33 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IBool_mp.hi b/ghc/lib/prelude/IBool_mp.hi
new file mode 100644
index 0000000000..de65c79734
--- /dev/null
+++ b/ghc/lib/prelude/IBool_mp.hi
@@ -0,0 +1,33 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IBool_mr.hi b/ghc/lib/prelude/IBool_mr.hi
new file mode 100644
index 0000000000..de65c79734
--- /dev/null
+++ b/ghc/lib/prelude/IBool_mr.hi
@@ -0,0 +1,33 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IBool_mt.hi b/ghc/lib/prelude/IBool_mt.hi
new file mode 100644
index 0000000000..de65c79734
--- /dev/null
+++ b/ghc/lib/prelude/IBool_mt.hi
@@ -0,0 +1,33 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IBool_p.hi b/ghc/lib/prelude/IBool_p.hi
new file mode 100644
index 0000000000..de65c79734
--- /dev/null
+++ b/ghc/lib/prelude/IBool_p.hi
@@ -0,0 +1,33 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IBool_t.hi b/ghc/lib/prelude/IBool_t.hi
new file mode 100644
index 0000000000..de65c79734
--- /dev/null
+++ b/ghc/lib/prelude/IBool_t.hi
@@ -0,0 +1,33 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IChar.hi b/ghc/lib/prelude/IChar.hi
new file mode 100644
index 0000000000..308fc67dfc
--- /dev/null
+++ b/ghc/lib/prelude/IChar.hi
@@ -0,0 +1,38 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Char(..))
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IChar.hs b/ghc/lib/prelude/IChar.hs
new file mode 100644
index 0000000000..01d30425aa
--- /dev/null
+++ b/ghc/lib/prelude/IChar.hs
@@ -0,0 +1,123 @@
+module PreludeCore ( Char(..) ) where
+
+import Prel ( (.), (&&), chr, ord, otherwise, maxChar, minChar, not )
+import Cls
+import Core
+import IInt
+import IList
+import List ( map, (++), foldr )
+import PS ( _PackedString, _unpackPS )
+import Text
+
+gtChar (C# x) (C# y) = gtChar# x y
+geChar (C# x) (C# y) = geChar# x y
+eqChar (C# x) (C# y) = eqChar# x y
+neChar (C# x) (C# y) = neChar# x y
+ltChar (C# x) (C# y) = ltChar# x y
+leChar (C# x) (C# y) = leChar# x y
+
+---------------------------------------------------------------
+
+instance Eq Char where
+ (==) x y = eqChar x y
+ (/=) x y = neChar x y
+
+instance Ord Char where
+ (<=) x y = leChar x y
+ (<) x y = ltChar x y
+ (>=) x y = geChar x y
+ (>) x y = gtChar x y
+
+ max a b = case _tagCmp a b of { _LT -> b; _EQ -> a; _GT -> a }
+ min a b = case _tagCmp a b of { _LT -> a; _EQ -> a; _GT -> b }
+
+ _tagCmp (C# a#) (C# b#)
+ = if (eqChar# a# b#) then _EQ
+ else if (ltChar# a# b#) then _LT else _GT
+
+instance Ix Char where
+ range (c,c') = [c..c']
+ index b@(c,c') ci
+ | inRange b ci = ord ci - ord c
+ | otherwise = error "Ix.Char.index{PreludeCore}: Index out of range\n"
+ inRange (c,c') ci = ord c <= i && i <= ord c'
+ where i = ord ci
+
+instance Enum Char where
+ enumFrom c = map chr [ord c .. ord maxChar]
+ enumFromThen c c' = map chr [ord c, ord c' .. ord lastChar]
+ where lastChar = if c' < c then minChar else maxChar
+
+instance Text Char where
+ readsPrec p = readParen False
+ (\r -> [(c,t) | ('\'':s,t)<- lex r,
+ (c,_) <- readLitChar s])
+
+ showsPrec p '\'' = showString "'\\''"
+ showsPrec p c = showChar '\'' . showLitChar c . showChar '\''
+
+ readList = readParen False (\r -> [(l,t) | ('"':s, t) <- lex r,
+ (l,_) <- readl s ])
+ where readl ('"':s) = [("",s)]
+ readl ('\\':'&':s) = readl s
+ readl s = [(c:cs,u) | (c ,t) <- readLitChar s,
+ (cs,u) <- readl t ]
+
+ showList cs = showChar '"' . showl cs
+ where showl "" = showChar '"'
+ showl ('"':cs) = showString "\\\"" . showl cs
+ showl (c:cs) = showLitChar c . showl cs
+
+instance _CCallable Char
+instance _CReturnable Char
+
+#if defined(__UNBOXED_INSTANCES__)
+---------------------------------------------------------------
+-- Instances for Char#
+---------------------------------------------------------------
+
+instance Eq Char# where
+ (==) x y = eqChar# x y
+ (/=) x y = neChar# x y
+
+instance Ord Char# where
+ (<=) x y = leChar# x y
+ (<) x y = ltChar# x y
+ (>=) x y = geChar# x y
+ (>) x y = gtChar# x y
+
+ max a b = case _tagCmp a b of { _LT -> b; _EQ -> a; _GT -> a }
+ min a b = case _tagCmp a b of { _LT -> a; _EQ -> a; _GT -> b }
+
+ _tagCmp a b
+ = if (eqChar# a b) then _EQ
+ else if (ltChar# a b) then _LT else _GT
+
+instance Ix Char# where
+ range (c,c') = [c..c']
+ index b@(c,c') ci
+ | inRange b ci = I# (ord# ci - ord# c)
+ | otherwise = error "Ix.Char#.index{PreludeCore}: Index out of range\n"
+ inRange (c,c') ci = ord# c <= i && i <= ord# c'
+ where i = ord# ci
+
+instance Enum Char# where
+ enumFrom c = map chr# [ord# c .. ord# '\255'#]
+ enumFromThen c c' = map chr# [ord# c, ord# c' .. ord# lastChar#]
+ where lastChar# = if c' < c then '\0'# else '\255'#
+ -- default methods not specialised!
+ enumFromTo n m = takeWhile (<= m) (enumFrom n)
+ enumFromThenTo n m p = takeWhile (if m >= n then (<= p) else (>= p))
+ (enumFromThen n m)
+
+-- ToDo: efficient Text Char# instance
+instance Text Char# where
+ readsPrec p s = map (\ (C# c#, s) -> (c#, s)) (readsPrec p s)
+ showsPrec p c = showsPrec p (C# c)
+ readList s = map (\ (x, s) -> (map (\ (C# c#) -> c#) x, s)) (readList s)
+ showList l = showList (map C# l)
+
+instance _CCallable Char#
+instance _CReturnable Char#
+
+#endif {-UNBOXED INSTANCES-}
diff --git a/ghc/lib/prelude/IChar_mc.hi b/ghc/lib/prelude/IChar_mc.hi
new file mode 100644
index 0000000000..308fc67dfc
--- /dev/null
+++ b/ghc/lib/prelude/IChar_mc.hi
@@ -0,0 +1,38 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Char(..))
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IChar_mg.hi b/ghc/lib/prelude/IChar_mg.hi
new file mode 100644
index 0000000000..308fc67dfc
--- /dev/null
+++ b/ghc/lib/prelude/IChar_mg.hi
@@ -0,0 +1,38 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Char(..))
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IChar_mp.hi b/ghc/lib/prelude/IChar_mp.hi
new file mode 100644
index 0000000000..308fc67dfc
--- /dev/null
+++ b/ghc/lib/prelude/IChar_mp.hi
@@ -0,0 +1,38 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Char(..))
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IChar_mr.hi b/ghc/lib/prelude/IChar_mr.hi
new file mode 100644
index 0000000000..308fc67dfc
--- /dev/null
+++ b/ghc/lib/prelude/IChar_mr.hi
@@ -0,0 +1,38 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Char(..))
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IChar_mt.hi b/ghc/lib/prelude/IChar_mt.hi
new file mode 100644
index 0000000000..308fc67dfc
--- /dev/null
+++ b/ghc/lib/prelude/IChar_mt.hi
@@ -0,0 +1,38 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Char(..))
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IChar_p.hi b/ghc/lib/prelude/IChar_p.hi
new file mode 100644
index 0000000000..308fc67dfc
--- /dev/null
+++ b/ghc/lib/prelude/IChar_p.hi
@@ -0,0 +1,38 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Char(..))
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IChar_t.hi b/ghc/lib/prelude/IChar_t.hi
new file mode 100644
index 0000000000..308fc67dfc
--- /dev/null
+++ b/ghc/lib/prelude/IChar_t.hi
@@ -0,0 +1,38 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Char(..))
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IComplex.hi b/ghc/lib/prelude/IComplex.hi
new file mode 100644
index 0000000000..e4e32ace82
--- /dev/null
+++ b/ghc/lib/prelude/IComplex.hi
@@ -0,0 +1,70 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeComplex where
+import PreludeBuiltin(Double(..), Tuple2)
+import PreludeCore(Eq(..), Floating(..), Fractional(..), Num(..), RealFloat(..), Text(..))
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IComplex.hs b/ghc/lib/prelude/IComplex.hs
new file mode 100644
index 0000000000..8988069748
--- /dev/null
+++ b/ghc/lib/prelude/IComplex.hs
@@ -0,0 +1,168 @@
+-- Complex Numbers
+
+module PreludeComplex where
+
+import Cls
+import Core
+
+import IDouble -- instances
+import IChar
+import IFloat
+import IInt
+import IInteger
+import IList
+import List ( (++), foldr )
+import Prel ( (.), (&&), (||), (^), atan2 )
+import PS ( _PackedString, _unpackPS )
+import Text
+import TyComplex
+
+-- infix 6 :+
+
+-- data (RealFloat a) => Complex a = a :+ a deriving (Eq,Binary,Text)
+
+instance (Eq a) => Eq (Complex a) where
+ (x :+ y) == (x2 :+ y2) = x == x2 && y == y2
+ (x :+ y) /= (x2 :+ y2) = x /= x2 || y /= y2
+
+instance (RealFloat a) => Num (Complex a) where
+ (x:+y) + (x2:+y2) = (x+x2) :+ (y+y2)
+ (x:+y) - (x2:+y2) = (x-x2) :+ (y-y2)
+ (x:+y) * (x2:+y2) = (x*x2-y*y2) :+ (x*y2+y*x2)
+ negate (x:+y) = negate x :+ negate y
+ abs z = magnitude z :+ 0
+ signum 0 = 0
+ signum z@(x:+y) = x/r :+ y/r where { r = magnitude z }
+ fromInteger n = fromInteger n :+ 0
+ fromInt n = fromInt n :+ 0
+
+instance (RealFloat a) => Fractional (Complex a) where
+ (x:+y) / (x2:+y2) = (x*x3+y*y3) / d :+ (y*x3-x*y3) / d
+ where x3 = scaleFloat k x2
+ y3 = scaleFloat k y2
+ k = - max (exponent x2) (exponent y2)
+ d = x2*x3 + y2*y3
+ fromRational a = fromRational a :+ 0
+ recip a = (1 :+ 0) / a
+
+instance (RealFloat a) => Floating (Complex a) where
+ pi = pi :+ 0
+ exp (x:+y) = expx * cos y :+ expx * sin y
+ where expx = exp x
+ log z = log (magnitude z) :+ phase z
+
+ (**) a b = exp (log a * b)
+ logBase a b = log b / log a
+
+ sqrt 0 = 0
+ sqrt z@(x:+y) = u :+ (if y < 0 then -v else v)
+ where (u,v) = if x < 0 then (v2,u2) else (u2,v2)
+ v2 = abs y / (u2*2)
+ u2 = sqrt ((magnitude z + abs x) / 2)
+
+ sin (x:+y) = sin x * cosh y :+ cos x * sinh y
+ cos (x:+y) = cos x * cosh y :+ (- sin x * sinh y)
+ tan (x:+y) = (sinx*coshy:+cosx*sinhy)/(cosx*coshy:+(-sinx*sinhy))
+ where sinx = sin x
+ cosx = cos x
+ sinhy = sinh y
+ coshy = cosh y
+
+ sinh (x:+y) = cos y * sinh x :+ sin y * cosh x
+ cosh (x:+y) = cos y * cosh x :+ sin y * sinh x
+ tanh (x:+y) = (cosy*sinhx:+siny*coshx)/(cosy*coshx:+siny*sinhx)
+ where siny = sin y
+ cosy = cos y
+ sinhx = sinh x
+ coshx = cosh x
+
+ asin z@(x:+y) = y2:+(-x2)
+ where (x2:+y2) = log (((-y):+x) + sqrt (1 - z*z))
+ acos z@(x:+y) = y3:+(-x3)
+ where (x3:+y3) = log (z + ((-y2):+x2))
+ (x2:+y2) = sqrt (1 - z*z)
+ atan z@(x:+y) = y2:+(-x2)
+ where (x2:+y2) = log (((1-y):+x) / sqrt (1+z*z))
+
+ asinh z = log (z + sqrt (1+z*z))
+ acosh z = log (z + (z+1) * sqrt ((z-1)/(z+1)))
+ atanh z = log ((1+z) / sqrt (1-z*z))
+
+
+instance (Text a) => Text (Complex a) where
+
+ -- magic fixity wired in: infix 6 :+
+
+ readsPrec p
+ = readParen ( p > 6 )
+ (\ r -> [ (x :+ y, s2) | (x, s0) <- readsPrec 7 r,
+ (":+", s1) <- lex s0,
+ (y, s2) <- readsPrec 7 s1 ])
+ showsPrec d (a :+ b)
+ = showParen (d > 6)
+ (showsPrec 7 a . showString " :+ " . showsPrec 7 b)
+
+{-# SPECIALIZE instance Eq (Complex Double) #-}
+{-# SPECIALIZE instance Num (Complex Double) #-}
+{-# SPECIALIZE instance Fractional (Complex Double) #-}
+{-# SPECIALIZE instance Floating (Complex Double) #-}
+
+--NO:{-# SPECIALIZE instance Eq (Complex Float) #-}
+--NO:{-# SPECIALIZE instance Num (Complex Float) #-}
+--NO:{-# SPECIALIZE instance Fractional (Complex Float) #-}
+--NO:{-# SPECIALIZE instance Floating (Complex Float) #-}
+
+#if defined(__UNBOXED_INSTANCES__)
+
+{-# SPECIALIZE instance Eq (Complex Double#) #-}
+{-# SPECIALIZE instance Num (Complex Double#) #-}
+{-# SPECIALIZE instance Fractional (Complex Double#) #-}
+{-# SPECIALIZE instance Floating (Complex Double#) #-}
+{-# SPECIALIZE instance Text (Complex Double#) #-}
+
+#endif
+
+-- ToDo: something for Binary
+
+-- ToDo: Complex Double# s/a{/a{Double#,?/
+
+--{-# GENERATE_SPECS realPart a{Double#} #-}
+realPart :: Complex a -> a
+realPart (x:+y) = x
+
+--{-# GENERATE_SPECS imagPart a{Double#} #-}
+imagPart :: Complex a -> a
+imagPart (x:+y) = y
+
+--{-# GENERATE_SPECS conjugate a{Double#,Double} #-}
+{-# GENERATE_SPECS conjugate a{Double} #-}
+conjugate :: (RealFloat a) => Complex a -> Complex a
+conjugate (x:+y) = x :+ (-y)
+
+--{-# GENERATE_SPECS mkPolar a{Double#,Double} #-}
+{-# GENERATE_SPECS mkPolar a{Double} #-}
+mkPolar :: (RealFloat a) => a -> a -> Complex a
+mkPolar r theta = r * cos theta :+ r * sin theta
+
+--{-# GENERATE_SPECS cis a{Double#,Double} #-}
+{-# GENERATE_SPECS cis a{Double} #-}
+cis :: (RealFloat a) => a -> Complex a
+cis theta = cos theta :+ sin theta
+
+--{-# GENERATE_SPECS polar a{Double#,Double} #-}
+{-# GENERATE_SPECS polar a{Double} #-}
+polar :: (RealFloat a) => Complex a -> (a,a)
+polar z = (magnitude z, phase z)
+
+--{-# GENERATE_SPECS magnitude a{Double#,Double} #-}
+{-# GENERATE_SPECS magnitude a{Double} #-}
+magnitude :: (RealFloat a) => Complex a -> a
+magnitude (x:+y) = scaleFloat k
+ (sqrt ((scaleFloat mk x)^2 + (scaleFloat mk y)^2))
+ where k = max (exponent x) (exponent y)
+ mk = - k
+
+--{-# GENERATE_SPECS phase a{Double#,Double} #-}
+{-# GENERATE_SPECS phase a{Double} #-}
+phase :: (RealFloat a) => Complex a -> a
+phase (x:+y) = atan2 y x
diff --git a/ghc/lib/prelude/IComplex_mc.hi b/ghc/lib/prelude/IComplex_mc.hi
new file mode 100644
index 0000000000..e4e32ace82
--- /dev/null
+++ b/ghc/lib/prelude/IComplex_mc.hi
@@ -0,0 +1,70 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeComplex where
+import PreludeBuiltin(Double(..), Tuple2)
+import PreludeCore(Eq(..), Floating(..), Fractional(..), Num(..), RealFloat(..), Text(..))
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IComplex_mg.hi b/ghc/lib/prelude/IComplex_mg.hi
new file mode 100644
index 0000000000..e4e32ace82
--- /dev/null
+++ b/ghc/lib/prelude/IComplex_mg.hi
@@ -0,0 +1,70 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeComplex where
+import PreludeBuiltin(Double(..), Tuple2)
+import PreludeCore(Eq(..), Floating(..), Fractional(..), Num(..), RealFloat(..), Text(..))
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IComplex_mp.hi b/ghc/lib/prelude/IComplex_mp.hi
new file mode 100644
index 0000000000..e4e32ace82
--- /dev/null
+++ b/ghc/lib/prelude/IComplex_mp.hi
@@ -0,0 +1,70 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeComplex where
+import PreludeBuiltin(Double(..), Tuple2)
+import PreludeCore(Eq(..), Floating(..), Fractional(..), Num(..), RealFloat(..), Text(..))
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IComplex_mr.hi b/ghc/lib/prelude/IComplex_mr.hi
new file mode 100644
index 0000000000..e4e32ace82
--- /dev/null
+++ b/ghc/lib/prelude/IComplex_mr.hi
@@ -0,0 +1,70 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeComplex where
+import PreludeBuiltin(Double(..), Tuple2)
+import PreludeCore(Eq(..), Floating(..), Fractional(..), Num(..), RealFloat(..), Text(..))
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IComplex_mt.hi b/ghc/lib/prelude/IComplex_mt.hi
new file mode 100644
index 0000000000..e4e32ace82
--- /dev/null
+++ b/ghc/lib/prelude/IComplex_mt.hi
@@ -0,0 +1,70 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeComplex where
+import PreludeBuiltin(Double(..), Tuple2)
+import PreludeCore(Eq(..), Floating(..), Fractional(..), Num(..), RealFloat(..), Text(..))
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IComplex_p.hi b/ghc/lib/prelude/IComplex_p.hi
new file mode 100644
index 0000000000..e4e32ace82
--- /dev/null
+++ b/ghc/lib/prelude/IComplex_p.hi
@@ -0,0 +1,70 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeComplex where
+import PreludeBuiltin(Double(..), Tuple2)
+import PreludeCore(Eq(..), Floating(..), Fractional(..), Num(..), RealFloat(..), Text(..))
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IComplex_t.hi b/ghc/lib/prelude/IComplex_t.hi
new file mode 100644
index 0000000000..e4e32ace82
--- /dev/null
+++ b/ghc/lib/prelude/IComplex_t.hi
@@ -0,0 +1,70 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeComplex where
+import PreludeBuiltin(Double(..), Tuple2)
+import PreludeCore(Eq(..), Floating(..), Fractional(..), Num(..), RealFloat(..), Text(..))
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IDouble.hi b/ghc/lib/prelude/IDouble.hi
new file mode 100644
index 0000000000..87d75b8241
--- /dev/null
+++ b/ghc/lib/prelude/IDouble.hi
@@ -0,0 +1,88 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Double(..))
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IDouble.hs b/ghc/lib/prelude/IDouble.hs
new file mode 100644
index 0000000000..dd3235f204
--- /dev/null
+++ b/ghc/lib/prelude/IDouble.hs
@@ -0,0 +1,299 @@
+module PreludeCore ( Double(..) ) where
+
+#include "../includes/ieee-flpt.h"
+
+import Cls
+import Core
+import IInt
+import IInteger
+import IRatio
+import List ( (++) )
+import Prel ( (^), (^^), otherwise )
+import PS ( _PackedString, _unpackPS )
+import Text
+import TyComplex -- for pragmas only
+
+-- definitions of the boxed PrimOps; these will be
+-- used in the case of partial applications, etc.
+
+plusDouble (D# x) (D# y) = D# (plusDouble# x y)
+minusDouble (D# x) (D# y) = D# (minusDouble# x y)
+timesDouble (D# x) (D# y) = D# (timesDouble# x y)
+divideDouble (D# x) (D# y) = D# (divideDouble# x y)
+negateDouble (D# x) = D# (negateDouble# x)
+
+gtDouble (D# x) (D# y) = gtDouble# x y
+geDouble (D# x) (D# y) = geDouble# x y
+eqDouble (D# x) (D# y) = eqDouble# x y
+neDouble (D# x) (D# y) = neDouble# x y
+ltDouble (D# x) (D# y) = ltDouble# x y
+leDouble (D# x) (D# y) = leDouble# x y
+
+double2Int (D# x) = I# (double2Int# x)
+int2Double (I# x) = D# (int2Double# x)
+double2Float (D# x) = F# (double2Float# x)
+float2Double (F# x) = D# (float2Double# x)
+
+expDouble (D# x) = D# (expDouble# x)
+logDouble (D# x) = D# (logDouble# x)
+sqrtDouble (D# x) = D# (sqrtDouble# x)
+sinDouble (D# x) = D# (sinDouble# x)
+cosDouble (D# x) = D# (cosDouble# x)
+tanDouble (D# x) = D# (tanDouble# x)
+asinDouble (D# x) = D# (asinDouble# x)
+acosDouble (D# x) = D# (acosDouble# x)
+atanDouble (D# x) = D# (atanDouble# x)
+sinhDouble (D# x) = D# (sinhDouble# x)
+coshDouble (D# x) = D# (coshDouble# x)
+tanhDouble (D# x) = D# (tanhDouble# x)
+
+powerDouble (D# x) (D# y) = D# (powerDouble# x y)
+
+---------------------------------------------------------------
+
+instance Eq Double where
+ (==) x y = eqDouble x y
+ (/=) x y = neDouble x y
+
+instance Ord Double where
+ (<=) x y = leDouble x y
+ (<) x y = ltDouble x y
+ (>=) x y = geDouble x y
+ (>) x y = gtDouble x y
+
+ max a b = case _tagCmp a b of { _LT -> b; _EQ -> a; _GT -> a }
+ min a b = case _tagCmp a b of { _LT -> a; _EQ -> a; _GT -> b }
+
+ _tagCmp (D# a#) (D# b#)
+ = if (eqDouble# a# b#) then _EQ
+ else if (ltDouble# a# b#) then _LT else _GT
+
+instance Num Double where
+ (+) x y = plusDouble x y
+ (-) x y = minusDouble x y
+ negate x = negateDouble x
+ (*) x y = timesDouble x y
+ abs x | x >= 0 = x
+ | otherwise = negateDouble x
+ signum x | x == 0 = 0
+ | x > 0 = 1
+ | otherwise = -1
+ fromInteger n = encodeFloat n 0
+ fromInt (I# n#) = case (int2Double# n#) of { d# -> D# d# }
+
+instance Real Double where
+ toRational x = (m%1)*(b%1)^^n -- i.e., realFloatToRational x
+ where (m,n) = decodeFloat x
+ b = floatRadix x
+
+instance Fractional Double where
+ (/) x y = divideDouble x y
+ fromRational x = fromRationalX x --ORIG: rationalToRealFloat x
+ recip x = 1 / x
+
+instance Floating Double where
+ pi = 3.141592653589793238
+ exp x = expDouble x
+ log x = logDouble x
+ sqrt x = sqrtDouble x
+ sin x = sinDouble x
+ cos x = cosDouble x
+ tan x = tanDouble x
+ asin x = asinDouble x
+ acos x = acosDouble x
+ atan x = atanDouble x
+ sinh x = sinhDouble x
+ cosh x = coshDouble x
+ tanh x = tanhDouble x
+ (**) x y = powerDouble x y
+ logBase x y = log y / log x
+
+{- WAS: but not all machines have these in their math library:
+ asinh = asinhDouble
+ acosh = acoshDouble
+ atanh = atanhDouble
+-}
+ asinh x = log (x + sqrt (1+x*x))
+ acosh x = log (x + (x+1) * sqrt ((x-1)/(x+1)))
+ atanh x = log ((x+1) / sqrt (1 - x*x))
+
+
+instance RealFrac Double where
+ properFraction x = _properFraction x
+
+ -- just call the versions in Core.hs
+ truncate x = _truncate x
+ round x = _round x
+ ceiling x = _ceiling x
+ floor x = _floor x
+{- OLD:
+ properFraction x
+ | n >= 0 = (fromInteger m * fromInteger b ^ n, 0)
+ | otherwise = (fromInteger w, encodeFloat r n)
+ where (m,n) = decodeFloat x
+ b = floatRadix x
+ (w,r) = quotRem m (b^(-n))
+-}
+
+instance RealFloat Double where
+ floatRadix _ = FLT_RADIX -- from float.h
+ floatDigits _ = DBL_MANT_DIG -- ditto
+ floatRange _ = (DBL_MIN_EXP, DBL_MAX_EXP) -- ditto
+
+ decodeFloat (D# d#)
+ = case decodeDouble# d# of
+ _ReturnIntAndGMP exp# a# s# d# ->
+ (J# a# s# d#, I# exp#)
+
+ encodeFloat (J# a# s# d#) (I# e#)
+ = case encodeDouble# a# s# d# e# of { dbl# -> D# dbl# }
+
+instance Enum Double where
+{- *** RAW PRELUDE ***
+ enumFrom = numericEnumFrom
+ enumFromThen = numericEnumFromThen
+-}
+ enumFrom x = x : enumFrom (x `plusDouble` 1.0)
+ enumFromThen m n = en' m (n `minusDouble` m)
+ where en' m n = m : en' (m `plusDouble` n) n
+
+instance Text Double where
+ readsPrec p x = readSigned readFloat x
+ showsPrec x = showSigned showFloat x
+
+instance _CCallable Double
+instance _CReturnable Double
+
+#if defined(__UNBOXED_INSTANCES__)
+---------------------------------------------------------------
+-- Instances for Double#
+---------------------------------------------------------------
+
+instance Eq Double# where
+ (==) x y = eqDouble# x y
+ (/=) x y = neDouble# x y
+
+instance Ord Double# where
+ (<=) x y = leDouble# x y
+ (<) x y = ltDouble# x y
+ (>=) x y = geDouble# x y
+ (>) x y = gtDouble# x y
+
+ max a b = case _tagCmp a b of { _LT -> b; _EQ -> a; _GT -> a }
+ min a b = case _tagCmp a b of { _LT -> a; _EQ -> a; _GT -> b }
+
+ _tagCmp a b
+ = if (eqDouble# a b) then _EQ
+ else if (ltDouble# a b) then _LT else _GT
+
+instance Num Double# where
+ (+) x y = plusDouble# x y
+ (-) x y = minusDouble# x y
+ negate x = negateDouble# x
+ (*) x y = timesDouble# x y
+ abs x | x >= 0 = x
+ | otherwise = negateDouble# x
+ signum x | x == 0 = 0
+ | x > 0 = 1
+ | otherwise = -1
+ fromInteger n = encodeFloat n 0
+ fromInt (I# n#) = int2Double# n#
+
+instance Real Double# where
+ toRational x = (m%1)*(b%1)^^n -- i.e., realFloatToRational x
+ where (m,n) = decodeFloat x
+ b = floatRadix x
+
+instance Fractional Double# where
+ (/) x y = divideDouble# x y
+ fromRational x = _fromRational x --ORIG: rationalToRealFloat x
+ recip x = 1 / x
+
+instance Floating Double# where
+ pi = 3.141592653589793238##
+ exp x = expDouble# x
+ log x = logDouble# x
+ sqrt x = sqrtDouble# x
+ sin x = sinDouble# x
+ cos x = cosDouble# x
+ tan x = tanDouble# x
+ asin x = asinDouble# x
+ acos x = acosDouble# x
+ atan x = atanDouble# x
+ sinh x = sinhDouble# x
+ cosh x = coshDouble# x
+ tanh x = tanhDouble# x
+ (**) x y = powerDouble# x y
+ logBase x y = log y / log x
+
+{- WAS: but not all machines have these in their math library:
+ asinh = asinhDouble#
+ acosh = acoshDouble#
+ atanh = atanhDouble#
+-}
+ asinh x = log (x + sqrt (1+x*x))
+ acosh x = log (x + (x+1) * sqrt ((x-1)/(x+1)))
+ atanh x = log ((x+1) / sqrt (1 - x*x))
+
+
+instance RealFrac Double# where
+ -- REPORT:
+ -- properFraction = floatProperFraction
+
+ properFraction x
+ | n >= 0 = (fromInteger m * fromInteger b ^ n, 0)
+ | otherwise = (fromInteger w, encodeFloat r n)
+ where (m,n) = decodeFloat x
+ b = floatRadix x
+ (w,r) = quotRem m (b^(-n))
+
+ -- No default methods for unboxed values ...
+ -- just call the versions in Core.hs
+ truncate x = _truncate x
+ round x = _round x
+ ceiling x = _ceiling x
+ floor x = _floor x
+
+instance RealFloat Double# where
+ floatRadix _ = FLT_RADIX -- from float.h
+ floatDigits _ = DBL_MANT_DIG -- ditto
+ floatRange _ = (DBL_MIN_EXP, DBL_MAX_EXP) -- ditto
+
+ decodeFloat d#
+ = case decodeDouble# d# of
+ _ReturnIntAndGMP exp# a# s# d# ->
+ (J# a# s# d#, I# exp#)
+
+ encodeFloat (J# a# s# d#) (I# e#)
+ = encodeDouble# a# s# d# e#
+
+ -- No default methods for unboxed values ...
+ exponent x = if m == 0 then 0 else n + floatDigits x
+ where (m,n) = decodeFloat x
+
+ significand x = encodeFloat m (- (floatDigits x))
+ where (m,_) = decodeFloat x
+
+ scaleFloat k x = encodeFloat m (n+k)
+ where (m,n) = decodeFloat x
+
+instance Enum Double# where
+ enumFrom x = x : enumFrom (x `plusDouble#` 1.0##)
+ enumFromThen m n = en' m (n `minusDouble#` m)
+ where en' m n = m : en' (m `plusDouble#` n) n
+ -- default methods not specialised!
+ enumFromTo n m = takeWhile (<= m) (enumFrom n)
+ enumFromThenTo n m p = takeWhile (if m >= n then (<= p) else (>= p))
+ (enumFromThen n m)
+
+-- ToDo: efficient Text Double# instance
+instance Text Double# where
+ readsPrec p s = map (\ (D# d#, s) -> (d#, s)) (readsPrec p s)
+ showsPrec p x = showsPrec p (D# x)
+ readList s = map (\ (x, s) -> (map (\ (D# d#) -> d#) x, s)) (readList s)
+ showList l = showList (map D# l)
+
+instance _CCallable Double#
+instance _CReturnable Double#
+
+#endif {-UNBOXED INSTANCES-}
diff --git a/ghc/lib/prelude/IDouble_mc.hi b/ghc/lib/prelude/IDouble_mc.hi
new file mode 100644
index 0000000000..87d75b8241
--- /dev/null
+++ b/ghc/lib/prelude/IDouble_mc.hi
@@ -0,0 +1,88 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Double(..))
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IDouble_mg.hi b/ghc/lib/prelude/IDouble_mg.hi
new file mode 100644
index 0000000000..87d75b8241
--- /dev/null
+++ b/ghc/lib/prelude/IDouble_mg.hi
@@ -0,0 +1,88 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Double(..))
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IDouble_mp.hi b/ghc/lib/prelude/IDouble_mp.hi
new file mode 100644
index 0000000000..87d75b8241
--- /dev/null
+++ b/ghc/lib/prelude/IDouble_mp.hi
@@ -0,0 +1,88 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Double(..))
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IDouble_mr.hi b/ghc/lib/prelude/IDouble_mr.hi
new file mode 100644
index 0000000000..87d75b8241
--- /dev/null
+++ b/ghc/lib/prelude/IDouble_mr.hi
@@ -0,0 +1,88 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Double(..))
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IDouble_mt.hi b/ghc/lib/prelude/IDouble_mt.hi
new file mode 100644
index 0000000000..87d75b8241
--- /dev/null
+++ b/ghc/lib/prelude/IDouble_mt.hi
@@ -0,0 +1,88 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Double(..))
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IDouble_p.hi b/ghc/lib/prelude/IDouble_p.hi
new file mode 100644
index 0000000000..87d75b8241
--- /dev/null
+++ b/ghc/lib/prelude/IDouble_p.hi
@@ -0,0 +1,88 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Double(..))
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IDouble_t.hi b/ghc/lib/prelude/IDouble_t.hi
new file mode 100644
index 0000000000..87d75b8241
--- /dev/null
+++ b/ghc/lib/prelude/IDouble_t.hi
@@ -0,0 +1,88 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Double(..))
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IFloat.hi b/ghc/lib/prelude/IFloat.hi
new file mode 100644
index 0000000000..a3e4f89723
--- /dev/null
+++ b/ghc/lib/prelude/IFloat.hi
@@ -0,0 +1,88 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Float(..))
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IFloat.hs b/ghc/lib/prelude/IFloat.hs
new file mode 100644
index 0000000000..59b015ecb7
--- /dev/null
+++ b/ghc/lib/prelude/IFloat.hs
@@ -0,0 +1,154 @@
+module PreludeCore ( Float(..) ) where
+
+#include "../includes/ieee-flpt.h"
+
+import Cls
+import Core
+import IInt
+import IInteger
+import IRatio
+import List ( (++) )
+import Prel ( (^), (^^), otherwise )
+import PS ( _PackedString, _unpackPS )
+import Text
+import TyComplex -- for pragmas only
+
+-- definitions of the boxed PrimOps; these will be
+-- used in the case of partial applications, etc.
+
+plusFloat (F# x) (F# y) = F# (plusFloat# x y)
+minusFloat (F# x) (F# y) = F# (minusFloat# x y)
+timesFloat (F# x) (F# y) = F# (timesFloat# x y)
+divideFloat (F# x) (F# y) = F# (divideFloat# x y)
+negateFloat (F# x) = F# (negateFloat# x)
+
+gtFloat (F# x) (F# y) = gtFloat# x y
+geFloat (F# x) (F# y) = geFloat# x y
+eqFloat (F# x) (F# y) = eqFloat# x y
+neFloat (F# x) (F# y) = neFloat# x y
+ltFloat (F# x) (F# y) = ltFloat# x y
+leFloat (F# x) (F# y) = leFloat# x y
+
+float2Int (F# x) = I# (float2Int# x)
+int2Float (I# x) = F# (int2Float# x)
+
+expFloat (F# x) = F# (expFloat# x)
+logFloat (F# x) = F# (logFloat# x)
+sqrtFloat (F# x) = F# (sqrtFloat# x)
+sinFloat (F# x) = F# (sinFloat# x)
+cosFloat (F# x) = F# (cosFloat# x)
+tanFloat (F# x) = F# (tanFloat# x)
+asinFloat (F# x) = F# (asinFloat# x)
+acosFloat (F# x) = F# (acosFloat# x)
+atanFloat (F# x) = F# (atanFloat# x)
+sinhFloat (F# x) = F# (sinhFloat# x)
+coshFloat (F# x) = F# (coshFloat# x)
+tanhFloat (F# x) = F# (tanhFloat# x)
+
+powerFloat (F# x) (F# y) = F# (powerFloat# x y)
+
+---------------------------------------------------------------
+
+instance Eq Float where
+ (==) x y = eqFloat x y
+ (/=) x y = neFloat x y
+
+instance Ord Float where
+ (<=) x y = leFloat x y
+ (<) x y = ltFloat x y
+ (>=) x y = geFloat x y
+ (>) x y = gtFloat x y
+
+ max a b = case _tagCmp a b of { _LT -> b; _EQ -> a; _GT -> a }
+ min a b = case _tagCmp a b of { _LT -> a; _EQ -> a; _GT -> b }
+
+ _tagCmp (F# a#) (F# b#)
+ = if (eqFloat# a# b#) then _EQ
+ else if (ltFloat# a# b#) then _LT else _GT
+
+instance Num Float where
+ (+) x y = plusFloat x y
+ (-) x y = minusFloat x y
+ negate x = negateFloat x
+ (*) x y = timesFloat x y
+ abs x | x >= 0 = x
+ | otherwise = negateFloat x
+ signum x | x == 0 = 0
+ | x > 0 = 1
+ | otherwise = -1
+
+ fromInteger n = encodeFloat n 0
+ fromInt i = int2Float i
+
+instance Real Float where
+ toRational x = (m%1)*(b%1)^^n -- i.e., realFloatToRational x
+ where (m,n) = decodeFloat x
+ b = floatRadix x
+
+instance Fractional Float where
+ (/) x y = divideFloat x y
+ fromRational x = fromRationalX x -- ORIG: rationalToRealFloat x
+
+instance Floating Float where
+ pi = 3.141592653589793238
+ exp x = expFloat x
+ log x = logFloat x
+ sqrt x = sqrtFloat x
+ sin x = sinFloat x
+ cos x = cosFloat x
+ tan x = tanFloat x
+ asin x = asinFloat x
+ acos x = acosFloat x
+ atan x = atanFloat x
+ sinh x = sinhFloat x
+ cosh x = coshFloat x
+ tanh x = tanhFloat x
+ (**) x y = powerFloat x y
+
+{- WAS: but not all machines have these in their math library:
+ asinh = asinhFloat
+ acosh = acoshFloat
+ atanh = atanhFloat
+-}
+ asinh x = log (x + sqrt (1+x*x))
+ acosh x = log (x + (x+1) * sqrt ((x-1)/(x+1)))
+ atanh x = log ((x+1) / sqrt (1 - x*x))
+
+instance RealFrac Float where
+ properFraction x = _properFraction x
+
+ -- just call the versions in Core.hs
+ truncate x = _truncate x
+ round x = _round x
+ ceiling x = _ceiling x
+ floor x = _floor x
+
+instance RealFloat Float where
+ floatRadix _ = FLT_RADIX -- from float.h
+ floatDigits _ = FLT_MANT_DIG -- ditto
+ floatRange _ = (FLT_MIN_EXP, FLT_MAX_EXP) -- ditto
+
+ decodeFloat (F# f#)
+ = case decodeFloat# f# of
+ _ReturnIntAndGMP exp# a# s# d# ->
+ (J# a# s# d#, I# exp#)
+
+ encodeFloat (J# a# s# d#) (I# e#)
+ = case encodeFloat# a# s# d# e# of { flt# -> F# flt# }
+
+instance Enum Float where
+{- *** RAW PRELUDE ***
+ enumFrom = numericEnumFrom
+ enumFromThen = numericEnumFromThen
+-}
+ enumFrom x = x : enumFrom (x `plusFloat` 1.0)
+ enumFromThen m n = en' m (n `minusFloat` m)
+ where en' m n = m : en' (m `plusFloat` n) n
+
+instance Text Float where
+ readsPrec p x = readSigned readFloat x
+ showsPrec x = showSigned showFloat x
+
+---------------------------------------------------------------
+instance _CCallable Float
+instance _CReturnable Float
diff --git a/ghc/lib/prelude/IFloat_mc.hi b/ghc/lib/prelude/IFloat_mc.hi
new file mode 100644
index 0000000000..a3e4f89723
--- /dev/null
+++ b/ghc/lib/prelude/IFloat_mc.hi
@@ -0,0 +1,88 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Float(..))
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IFloat_mg.hi b/ghc/lib/prelude/IFloat_mg.hi
new file mode 100644
index 0000000000..a3e4f89723
--- /dev/null
+++ b/ghc/lib/prelude/IFloat_mg.hi
@@ -0,0 +1,88 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Float(..))
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IFloat_mp.hi b/ghc/lib/prelude/IFloat_mp.hi
new file mode 100644
index 0000000000..a3e4f89723
--- /dev/null
+++ b/ghc/lib/prelude/IFloat_mp.hi
@@ -0,0 +1,88 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Float(..))
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IFloat_mr.hi b/ghc/lib/prelude/IFloat_mr.hi
new file mode 100644
index 0000000000..a3e4f89723
--- /dev/null
+++ b/ghc/lib/prelude/IFloat_mr.hi
@@ -0,0 +1,88 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Float(..))
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IFloat_mt.hi b/ghc/lib/prelude/IFloat_mt.hi
new file mode 100644
index 0000000000..a3e4f89723
--- /dev/null
+++ b/ghc/lib/prelude/IFloat_mt.hi
@@ -0,0 +1,88 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Float(..))
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IFloat_p.hi b/ghc/lib/prelude/IFloat_p.hi
new file mode 100644
index 0000000000..a3e4f89723
--- /dev/null
+++ b/ghc/lib/prelude/IFloat_p.hi
@@ -0,0 +1,88 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Float(..))
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IFloat_t.hi b/ghc/lib/prelude/IFloat_t.hi
new file mode 100644
index 0000000000..a3e4f89723
--- /dev/null
+++ b/ghc/lib/prelude/IFloat_t.hi
@@ -0,0 +1,88 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Float(..))
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IInt.hi b/ghc/lib/prelude/IInt.hi
new file mode 100644
index 0000000000..e3527248ad
--- /dev/null
+++ b/ghc/lib/prelude/IInt.hi
@@ -0,0 +1,110 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Int(..), Tuple0, _Addr(..), _Word(..))
+import PreludeGlaMisc(_MallocPtr(..), _StablePtr(..))
+rangeComplaint_Ix_Int# :: Int# -> Int# -> Int# -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ _!_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IInt.hs b/ghc/lib/prelude/IInt.hs
new file mode 100644
index 0000000000..2879d6a3ff
--- /dev/null
+++ b/ghc/lib/prelude/IInt.hs
@@ -0,0 +1,299 @@
+module PreludeCore ( Int(..), rangeComplaint_Ix_Int#{-see comment later-} ) where
+
+import Cls
+import Core
+import IInteger -- instances
+import IRatio ( (%) )
+import ITup2
+import List ( (++), foldr )
+import Prel ( otherwise, (&&), (||), chr, ord )
+import PS ( _PackedString, _unpackPS )
+import Text
+
+-- definitions of the boxed PrimOps; these will be
+-- used in the case of partial applications, etc.
+
+plusInt (I# x) (I# y) = I# (plusInt# x y)
+minusInt(I# x) (I# y) = I# (minusInt# x y)
+timesInt(I# x) (I# y) = I# (timesInt# x y)
+quotInt (I# x) (I# y) = I# (quotInt# x y)
+divInt (I# x) (I# y) = I# (divInt# x y)
+remInt (I# x) (I# y) = I# (remInt# x y)
+negateInt (I# x) = I# (negateInt# x)
+gtInt (I# x) (I# y) = gtInt# x y
+geInt (I# x) (I# y) = geInt# x y
+eqInt (I# x) (I# y) = eqInt# x y
+neInt (I# x) (I# y) = neInt# x y
+ltInt (I# x) (I# y) = ltInt# x y
+leInt (I# x) (I# y) = leInt# x y
+
+---------------------------------------------------------------
+
+instance Eq Int where
+ (==) x y = eqInt x y
+ (/=) x y = neInt x y
+
+instance Ord Int where
+ (<=) x y = leInt x y
+ (<) x y = ltInt x y
+ (>=) x y = geInt x y
+ (>) x y = gtInt x y
+
+ max a b = case _tagCmp a b of { _LT -> b; _EQ -> a; _GT -> a }
+ min a b = case _tagCmp a b of { _LT -> a; _EQ -> a; _GT -> b }
+
+ _tagCmp (I# a#) (I# b#)
+ = if (a# ==# b#) then _EQ
+ else if (a# <# b#) then _LT else _GT
+
+instance Num Int where
+ (+) x y = plusInt x y
+ (-) x y = minusInt x y
+ negate x = negateInt x
+ (*) x y = timesInt x y
+ abs n = if n `geInt` 0 then n else (negateInt n)
+
+ signum n | n `ltInt` 0 = negateInt 1
+ | n `eqInt` 0 = 0
+ | otherwise = 1
+
+ fromInteger (J# a# s# d#)
+ = case (integer2Int# a# s# d#) of { i# -> I# i# }
+
+ fromInt n = n
+
+instance Real Int where
+ toRational x = toInteger x % 1
+
+instance Integral Int where
+ a@(I# _) `quotRem` b@(I# _) = (a `quotInt` b, a `remInt` b)
+ -- OK, so I made it a little stricter. Shoot me. (WDP 94/10)
+
+ -- following chks for zero divisor are non-standard (WDP)
+ a `quot` b = if b /= 0
+ then a `quotInt` b
+ else error "Integral.Int.quot{PreludeCore}: divide by 0\n"
+ a `rem` b = if b /= 0
+ then a `remInt` b
+ else error "Integral.Int.rem{PreludeCore}: divide by 0\n"
+
+ x `div` y = if x > 0 && y < 0 then quotInt (x-y-1) y
+ else if x < 0 && y > 0 then quotInt (x-y+1) y
+ else quotInt x y
+ x `mod` y = if x > 0 && y < 0 || x < 0 && y > 0 then
+ if r/=0 then r+y else 0
+ else
+ r
+ where r = remInt x y
+
+ divMod x@(I# _) y@(I# _) = (x `div` y, x `mod` y)
+ -- Stricter. Sorry if you don't like it. (WDP 94/10)
+
+ even x = eqInt (x `mod` 2) 0
+ odd x = neInt (x `mod` 2) 0
+
+ toInteger (I# n#) = int2Integer# n# -- give back a full-blown Integer
+ toInt x = x
+
+rangeComplaint_Ix_Int# i m n -- export it so it will *not* be floated inwards
+ = error ("Ix.Int.index2{PreludeCore}: Index "
+ ++ show (I# i) ++ " outside the range "
+ ++ show (I# m,I# n) ++ ".\n")
+
+instance Ix Int where
+ range (m,n) = [m..n]
+ index b@(I# m, I# n) (I# i)
+ | inRange b (I# i) = I# (i -# m)
+ | otherwise = rangeComplaint_Ix_Int# i m n
+ inRange (I# m, I# n) (I# i) = m <=# i && i <=# n
+
+instance Enum Int where
+{- RAW PRELUDE ************************
+ enumFrom = numericEnumFrom
+ enumFromThen = numericEnumFromThen
+-}
+#ifndef USE_FOLDR_BUILD
+ enumFrom x = x : enumFrom (x `plusInt` 1)
+#else
+ {-# INLINE enumFromTo #-}
+ {-# INLINE enumFrom #-}
+ enumFromTo x y = _build (\ c n ->
+ let g x = if x <= y then x `c` g (x `plusInt` 1) else n in g x)
+ enumFrom x = _build (\ c _ ->
+ let g x = x `c` g (x `plusInt` 1) in g x)
+#endif
+ enumFromThen m n = en' m (n `minusInt` m)
+ where en' m n = m : en' (m `plusInt` n) n
+
+instance Text Int where
+ readsPrec p x = readSigned readDec x
+ showsPrec x = showSigned showInt x
+
+---------------------------------------------------------------
+instance _CCallable Int
+instance _CReturnable Int
+
+#if defined(__UNBOXED_INSTANCES__)
+---------------------------------------------------------------
+-- Instances for Int#
+---------------------------------------------------------------
+
+instance Eq Int# where
+ (==) x y = eqInt# x y
+ (/=) x y = neInt# x y
+
+instance Ord Int# where
+ (<=) x y = leInt# x y
+ (<) x y = ltInt# x y
+ (>=) x y = geInt# x y
+ (>) x y = gtInt# x y
+
+ max a b = case _tagCmp a b of { _LT -> b; _EQ -> a; _GT -> a }
+ min a b = case _tagCmp a b of { _LT -> a; _EQ -> a; _GT -> b }
+
+ _tagCmp a b
+ = if (a `eqInt#` b) then _EQ
+ else if (a `ltInt#` b) then _LT else _GT
+
+instance Num Int# where
+ (+) x y = plusInt# x y
+ (-) x y = minusInt# x y
+ negate x = negateInt# x
+ (*) x y = timesInt# x y
+ abs n = if n `geInt#` 0 then n else (negateInt# n)
+
+ signum n | n `ltInt#` 0 = negateInt# 1
+ | n `eqInt#` 0 = 0
+ | otherwise = 1
+
+ fromInteger (J# a# s# d#)
+ = integer2Int# a# s# d#
+
+ fromInt (I# i#) = i#
+
+instance Real Int# where
+ toRational x = toInteger x % 1
+
+instance Integral Int# where
+ a `quotRem` b = (a `quotInt#` b, a `remInt#` b)
+
+ -- following chks for zero divisor are non-standard (WDP)
+ a `quot` b = if b /= 0
+ then a `quotInt#` b
+ else error "Integral.Int#.quot{PreludeCore}: divide by 0\n"
+ a `rem` b = if b /= 0
+ then a `remInt#` b
+ else error "Integral.Int#.rem{PreludeCore}: divide by 0\n"
+
+ x `div` y = if x > 0 && y < 0 then quotInt# (x-y-1) y
+ else if x < 0 && y > 0 then quotInt# (x-y+1) y
+ else quotInt# x y
+ x `mod` y = if x > 0 && y < 0 || x < 0 && y > 0 then
+ if r/=0 then r+y else 0
+ else
+ r
+ where r = remInt# x y
+
+ divMod x y = (x `div` y, x `mod` y)
+
+ even x = eqInt# (x `mod` 2) 0
+ odd x = neInt# (x `mod` 2) 0
+
+ toInteger n# = int2Integer# n# -- give back a full-blown Integer
+ toInt n# = I# n#
+
+instance Ix Int# where
+ range (m,n) = [m..n]
+ index b@(m, n) i
+ | inRange b i = I# (i -# m)
+ | otherwise = rangeComplaint_Ix_Int# i m n
+ inRange (m, n) i = m <=# i && i <=# n
+
+instance Enum Int# where
+ enumFrom x = x : enumFrom (x `plusInt#` 1)
+ enumFromThen m n = en' m (n `minusInt#` m)
+ where en' m n = m : en' (m `plusInt#` n) n
+ -- default methods not specialised!
+ enumFromTo n m = takeWhile (<= m) (enumFrom n)
+ enumFromThenTo n m p = takeWhile (if m >= n then (<= p) else (>= p))
+ (enumFromThen n m)
+
+-- ToDo: efficient Text Int# instance
+instance Text Int# where
+ readsPrec p s = map (\ (I# i#, s) -> (i#, s)) (readsPrec p s)
+ showsPrec p x = showsPrec p (I# x)
+ readList s = map (\ (x, s) -> (map (\ (I# i#) -> i#) x, s)) (readList s)
+ showList l = showList (map I# l)
+
+instance _CCallable Int#
+instance _CReturnable Int#
+
+#endif {-UNBOXED INSTANCES-}
+
+---------------------------------------------------------------
+-- Instances for Addr Word etc #
+---------------------------------------------------------------
+
+instance _CCallable _Addr
+instance _CCallable _Word
+instance _CCallable _MallocPtr
+
+instance _CReturnable _Addr
+instance _CReturnable _Word
+instance _CReturnable ()
+instance _CReturnable _MallocPtr
+
+#ifndef __PARALLEL_HASKELL__
+instance _CCallable (_StablePtr a)
+instance _CReturnable (_StablePtr a)
+#endif
+
+---------------------------------------------------------------
+gtAddr (A# x) (A# y) = gtAddr# x y
+geAddr (A# x) (A# y) = geAddr# x y
+eqAddr (A# x) (A# y) = eqAddr# x y
+neAddr (A# x) (A# y) = neAddr# x y
+ltAddr (A# x) (A# y) = ltAddr# x y
+leAddr (A# x) (A# y) = leAddr# x y
+
+instance Eq _Addr where
+ (==) x y = eqAddr x y
+ (/=) x y = neAddr x y
+
+instance Ord _Addr where
+ (<=) x y = leAddr x y
+ (<) x y = ltAddr x y
+ (>=) x y = geAddr x y
+ (>) x y = gtAddr x y
+
+ max a b = case _tagCmp a b of { _LT -> b; _EQ -> a; _GT -> a }
+ min a b = case _tagCmp a b of { _LT -> a; _EQ -> a; _GT -> b }
+
+ _tagCmp (A# a#) (A# b#)
+ = if (eqAddr# a# b#) then _EQ
+ else if (ltAddr# a# b#) then _LT else _GT
+
+---------------------------------------------------------------
+gtWord (W# x) (W# y) = gtWord# x y
+geWord (W# x) (W# y) = geWord# x y
+eqWord (W# x) (W# y) = eqWord# x y
+neWord (W# x) (W# y) = neWord# x y
+ltWord (W# x) (W# y) = ltWord# x y
+leWord (W# x) (W# y) = leWord# x y
+
+instance Eq _Word where
+ (==) x y = eqWord x y
+ (/=) x y = neWord x y
+
+instance Ord _Word where
+ (<=) x y = leWord x y
+ (<) x y = ltWord x y
+ (>=) x y = geWord x y
+ (>) x y = gtWord x y
+
+ max a b = case _tagCmp a b of { _LT -> b; _EQ -> a; _GT -> a }
+ min a b = case _tagCmp a b of { _LT -> a; _EQ -> a; _GT -> b }
+
+ _tagCmp (W# a#) (W# b#)
+ = if (eqWord# a# b#) then _EQ
+ else if (ltWord# a# b#) then _LT else _GT
diff --git a/ghc/lib/prelude/IInt_mc.hi b/ghc/lib/prelude/IInt_mc.hi
new file mode 100644
index 0000000000..e3527248ad
--- /dev/null
+++ b/ghc/lib/prelude/IInt_mc.hi
@@ -0,0 +1,110 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Int(..), Tuple0, _Addr(..), _Word(..))
+import PreludeGlaMisc(_MallocPtr(..), _StablePtr(..))
+rangeComplaint_Ix_Int# :: Int# -> Int# -> Int# -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ _!_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IInt_mg.hi b/ghc/lib/prelude/IInt_mg.hi
new file mode 100644
index 0000000000..e3527248ad
--- /dev/null
+++ b/ghc/lib/prelude/IInt_mg.hi
@@ -0,0 +1,110 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Int(..), Tuple0, _Addr(..), _Word(..))
+import PreludeGlaMisc(_MallocPtr(..), _StablePtr(..))
+rangeComplaint_Ix_Int# :: Int# -> Int# -> Int# -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ _!_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IInt_mp.hi b/ghc/lib/prelude/IInt_mp.hi
new file mode 100644
index 0000000000..a0f692db53
--- /dev/null
+++ b/ghc/lib/prelude/IInt_mp.hi
@@ -0,0 +1,106 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Int(..), Tuple0, _Addr(..), _Word(..))
+import PreludeGlaMisc(_MallocPtr(..))
+rangeComplaint_Ix_Int# :: Int# -> Int# -> Int# -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ _!_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IInt_mr.hi b/ghc/lib/prelude/IInt_mr.hi
new file mode 100644
index 0000000000..e3527248ad
--- /dev/null
+++ b/ghc/lib/prelude/IInt_mr.hi
@@ -0,0 +1,110 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Int(..), Tuple0, _Addr(..), _Word(..))
+import PreludeGlaMisc(_MallocPtr(..), _StablePtr(..))
+rangeComplaint_Ix_Int# :: Int# -> Int# -> Int# -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ _!_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IInt_mt.hi b/ghc/lib/prelude/IInt_mt.hi
new file mode 100644
index 0000000000..e3527248ad
--- /dev/null
+++ b/ghc/lib/prelude/IInt_mt.hi
@@ -0,0 +1,110 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Int(..), Tuple0, _Addr(..), _Word(..))
+import PreludeGlaMisc(_MallocPtr(..), _StablePtr(..))
+rangeComplaint_Ix_Int# :: Int# -> Int# -> Int# -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ _!_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IInt_p.hi b/ghc/lib/prelude/IInt_p.hi
new file mode 100644
index 0000000000..e3527248ad
--- /dev/null
+++ b/ghc/lib/prelude/IInt_p.hi
@@ -0,0 +1,110 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Int(..), Tuple0, _Addr(..), _Word(..))
+import PreludeGlaMisc(_MallocPtr(..), _StablePtr(..))
+rangeComplaint_Ix_Int# :: Int# -> Int# -> Int# -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ _!_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IInt_t.hi b/ghc/lib/prelude/IInt_t.hi
new file mode 100644
index 0000000000..e3527248ad
--- /dev/null
+++ b/ghc/lib/prelude/IInt_t.hi
@@ -0,0 +1,110 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Int(..), Tuple0, _Addr(..), _Word(..))
+import PreludeGlaMisc(_MallocPtr(..), _StablePtr(..))
+rangeComplaint_Ix_Int# :: Int# -> Int# -> Int# -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ _!_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IInteger.hi b/ghc/lib/prelude/IInteger.hi
new file mode 100644
index 0000000000..7ba1b385e1
--- /dev/null
+++ b/ghc/lib/prelude/IInteger.hi
@@ -0,0 +1,67 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Int(..), Integer(..))
+_integer_0 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ #-}
+_integer_1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ #-}
+_integer_m1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+int2Integer :: Int -> Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IInteger.hs b/ghc/lib/prelude/IInteger.hs
new file mode 100644
index 0000000000..ed59ee7bdf
--- /dev/null
+++ b/ghc/lib/prelude/IInteger.hs
@@ -0,0 +1,162 @@
+module PreludeCore (
+ Integer(..),
+ int2Integer,
+ _integer_0, _integer_1, _integer_m1
+ ) where
+
+import Cls
+import Core
+import IInt
+import IRatio ( (%) )
+import ITup2 -- instances
+import List ( (++), foldr )
+import Prel ( not, otherwise, (&&) )
+import PS ( _PackedString, _unpackPS )
+import Text
+
+------------------------------------------------------
+-- a magical Integer-ish function that
+-- the compiler inserts references to
+
+int2Integer :: Int -> Integer
+int2Integer (I# i#) = int2Integer# i#
+
+------------------------------------------------------
+-- some *very* heavily-used constants
+
+_integer_0, _integer_1, _integer_m1 :: Integer
+_integer_0 = 0
+_integer_1 = 1
+_integer_m1 = (-1)
+
+------------------------------------------------------
+
+instance Eq Integer where
+ (J# a1 s1 d1) == (J# a2 s2 d2)
+ = (cmpInteger# a1 s1 d1 a2 s2 d2) ==# 0#
+
+ (J# a1 s1 d1) /= (J# a2 s2 d2)
+ = (cmpInteger# a1 s1 d1 a2 s2 d2) /=# 0#
+
+instance Ord Integer where
+ (J# a1 s1 d1) <= (J# a2 s2 d2)
+ = (cmpInteger# a1 s1 d1 a2 s2 d2) <=# 0#
+
+ (J# a1 s1 d1) < (J# a2 s2 d2)
+ = (cmpInteger# a1 s1 d1 a2 s2 d2) <# 0#
+
+ (J# a1 s1 d1) >= (J# a2 s2 d2)
+ = (cmpInteger# a1 s1 d1 a2 s2 d2) >=# 0#
+
+ (J# a1 s1 d1) > (J# a2 s2 d2)
+ = (cmpInteger# a1 s1 d1 a2 s2 d2) ># 0#
+
+ x@(J# a1 s1 d1) `max` y@(J# a2 s2 d2)
+ = if ((cmpInteger# a1 s1 d1 a2 s2 d2) ># 0#) then x else y
+
+ x@(J# a1 s1 d1) `min` y@(J# a2 s2 d2)
+ = if ((cmpInteger# a1 s1 d1 a2 s2 d2) <# 0#) then x else y
+
+ _tagCmp (J# a1 s1 d1) (J# a2 s2 d2)
+ = case cmpInteger# a1 s1 d1 a2 s2 d2 of { res# ->
+ if res# <# 0# then _LT else
+ if res# ># 0# then _GT else _EQ
+ }
+
+instance Num Integer where
+ (+) (J# a1 s1 d1) (J# a2 s2 d2)
+ = plusInteger# a1 s1 d1 a2 s2 d2
+
+ (-) (J# a1 s1 d1) (J# a2 s2 d2)
+ = minusInteger# a1 s1 d1 a2 s2 d2
+
+ negate (J# a s d) = negateInteger# a s d
+
+ (*) (J# a1 s1 d1) (J# a2 s2 d2)
+ = timesInteger# a1 s1 d1 a2 s2 d2
+
+ -- ORIG: abs n = if n >= 0 then n else -n
+
+ abs n@(J# a1 s1 d1)
+ = case _integer_0 of { J# a2 s2 d2 ->
+ if (cmpInteger# a1 s1 d1 a2 s2 d2) >=# 0#
+ then n
+ else negateInteger# a1 s1 d1
+ }
+
+ {- ORIG:
+ signum n | n < 0 = -1
+ | n == 0 = 0
+ | otherwise= 1
+ -}
+
+ signum n@(J# a1 s1 d1)
+ = case _integer_0 of { J# a2 s2 d2 ->
+ let
+ cmp = cmpInteger# a1 s1 d1 a2 s2 d2
+ in
+ if cmp ># 0# then _integer_1
+ else if cmp ==# 0# then _integer_0
+ else _integer_m1
+ }
+
+ fromInteger x = x
+
+ fromInt (I# n#) = int2Integer# n# -- gives back a full-blown Integer
+
+instance Real Integer where
+ toRational x = x % 1
+
+instance Integral Integer where
+ quotRem (J# a1 s1 d1) (J# a2 s2 d2)
+ = case (quotRemInteger# a1 s1 d1 a2 s2 d2) of
+ _Return2GMPs a3 s3 d3 a4 s4 d4
+ -> (J# a3 s3 d3, J# a4 s4 d4)
+
+{- USING THE UNDERLYING "GMP" CODE IS DUBIOUS FOR NOW:
+
+ divMod (J# a1 s1 d1) (J# a2 s2 d2)
+ = case (divModInteger# a1 s1 d1 a2 s2 d2) of
+ _Return2GMPs a3 s3 d3 a4 s4 d4
+ -> (J# a3 s3 d3, J# a4 s4 d4)
+-}
+ toInteger n = n
+ toInt (J# a s d) = case (integer2Int# a s d) of { n# -> I# n# }
+
+ -- the rest are identical to the report default methods;
+ -- you get slightly better code if you let the compiler
+ -- see them right here:
+ n `quot` d = q where (q,r) = quotRem n d
+ n `rem` d = r where (q,r) = quotRem n d
+ n `div` d = q where (q,r) = divMod n d
+ n `mod` d = r where (q,r) = divMod n d
+
+ divMod n d = case (quotRem n d) of { qr@(q,r) ->
+ if signum r == - signum d then (q-1, r+d) else qr }
+ -- Case-ified by WDP 94/10
+
+ even x = (==) (rem x 2) 0
+ odd x = (/=) (rem x 2) 0
+
+instance Ix Integer where
+ range (m,n) = [m..n]
+ index b@(m,n) i
+ | inRange b i = fromInteger (i - m)
+ | otherwise = error ("Ix.Integer.index{PreludeCore}: Index "
+ ++ show i ++ " outside the range "
+ ++ show b ++ ".\n")
+ inRange (m,n) i = m <= i && i <= n
+
+instance Enum Integer where
+{- RAW PRELUDE ************************
+ enumFrom = numericEnumFrom
+ enumFromThen = numericEnumFromThen
+-}
+ enumFrom n = n : enumFrom (n + 1)
+ enumFromThen m n = en' m (n - m)
+ where en' m n = m : en' (m + n) n
+
+
+instance Text Integer where
+ readsPrec p x = readSigned readDec x
+ showsPrec x = showSigned showInt x
diff --git a/ghc/lib/prelude/IInteger_mc.hi b/ghc/lib/prelude/IInteger_mc.hi
new file mode 100644
index 0000000000..7ba1b385e1
--- /dev/null
+++ b/ghc/lib/prelude/IInteger_mc.hi
@@ -0,0 +1,67 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Int(..), Integer(..))
+_integer_0 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ #-}
+_integer_1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ #-}
+_integer_m1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+int2Integer :: Int -> Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IInteger_mg.hi b/ghc/lib/prelude/IInteger_mg.hi
new file mode 100644
index 0000000000..7ba1b385e1
--- /dev/null
+++ b/ghc/lib/prelude/IInteger_mg.hi
@@ -0,0 +1,67 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Int(..), Integer(..))
+_integer_0 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ #-}
+_integer_1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ #-}
+_integer_m1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+int2Integer :: Int -> Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IInteger_mp.hi b/ghc/lib/prelude/IInteger_mp.hi
new file mode 100644
index 0000000000..7ba1b385e1
--- /dev/null
+++ b/ghc/lib/prelude/IInteger_mp.hi
@@ -0,0 +1,67 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Int(..), Integer(..))
+_integer_0 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ #-}
+_integer_1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ #-}
+_integer_m1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+int2Integer :: Int -> Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IInteger_mr.hi b/ghc/lib/prelude/IInteger_mr.hi
new file mode 100644
index 0000000000..7ba1b385e1
--- /dev/null
+++ b/ghc/lib/prelude/IInteger_mr.hi
@@ -0,0 +1,67 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Int(..), Integer(..))
+_integer_0 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ #-}
+_integer_1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ #-}
+_integer_m1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+int2Integer :: Int -> Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IInteger_mt.hi b/ghc/lib/prelude/IInteger_mt.hi
new file mode 100644
index 0000000000..7ba1b385e1
--- /dev/null
+++ b/ghc/lib/prelude/IInteger_mt.hi
@@ -0,0 +1,67 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Int(..), Integer(..))
+_integer_0 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ #-}
+_integer_1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ #-}
+_integer_m1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+int2Integer :: Int -> Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IInteger_p.hi b/ghc/lib/prelude/IInteger_p.hi
new file mode 100644
index 0000000000..7ba1b385e1
--- /dev/null
+++ b/ghc/lib/prelude/IInteger_p.hi
@@ -0,0 +1,67 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Int(..), Integer(..))
+_integer_0 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ #-}
+_integer_1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ #-}
+_integer_m1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+int2Integer :: Int -> Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IInteger_t.hi b/ghc/lib/prelude/IInteger_t.hi
new file mode 100644
index 0000000000..7ba1b385e1
--- /dev/null
+++ b/ghc/lib/prelude/IInteger_t.hi
@@ -0,0 +1,67 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeBuiltin(Int(..), Integer(..))
+_integer_0 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [0#] _N_ #-}
+_integer_1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [1#] _N_ #-}
+_integer_m1 :: Integer
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+int2Integer :: Int -> Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IList.hi b/ghc/lib/prelude/IList.hi
new file mode 100644
index 0000000000..d98883a68c
--- /dev/null
+++ b/ghc/lib/prelude/IList.hi
@@ -0,0 +1,52 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ord(..), Text(..), _CCallable(..), _CReturnable(..))
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IList.hs b/ghc/lib/prelude/IList.hs
new file mode 100644
index 0000000000..30f6da3981
--- /dev/null
+++ b/ghc/lib/prelude/IList.hs
@@ -0,0 +1,63 @@
+module PreludeBuiltin where
+
+import Prel ( (&&) )
+import Cls
+import Core ( _readList, _showList )
+import IChar
+import IInt
+import List ( (++) )
+import PS ( _PackedString, _unpackPS )
+import Text
+
+instance (Eq a) => Eq [a] where
+ [] == [] = True
+ (x:xs) == (y:ys) = x == y && xs == ys
+ [] == ys = False
+ xs == [] = False
+ xs /= ys = if (xs == ys) then False else True
+
+instance (Ord a) => Ord [a] where
+ a < b = case _tagCmp a b of { _LT -> True; _EQ -> False; _GT -> False }
+ a <= b = case _tagCmp a b of { _LT -> True; _EQ -> True; _GT -> False }
+ a >= b = case _tagCmp a b of { _LT -> False; _EQ -> True; _GT -> True }
+ a > b = case _tagCmp a b of { _LT -> False; _EQ -> False; _GT -> True }
+
+ max a b = case _tagCmp a b of { _LT -> b; _EQ -> a; _GT -> a }
+ min a b = case _tagCmp a b of { _LT -> a; _EQ -> a; _GT -> b }
+
+ _tagCmp [] [] = _EQ
+ _tagCmp (x:xs) [] = _GT
+ _tagCmp [] (y:ys) = _LT
+ _tagCmp (x:xs) (y:ys) = case _tagCmp x y of
+ _LT -> _LT
+ _GT -> _GT
+ _EQ -> _tagCmp xs ys
+
+instance (Text a) => Text [a] where
+ readsPrec p = readList
+ showsPrec p = showList
+
+{-# SPECIALIZE instance Eq [Char] #-}
+{-# SPECIALIZE instance Ord [Char] #-}
+{-# SPECIALIZE instance Text [Char] #-}
+
+#if defined(__OVERLAPPING_INSTANCES__)
+instance _CCallable [Char]
+instance _CReturnable [Char]
+#endif
+
+{-# SPECIALIZE instance Eq [Int] #-}
+{-# SPECIALIZE instance Ord [Int] #-}
+{-# SPECIALIZE instance Text [Int] #-}
+
+
+#if defined(__UNBOXED_INSTANCES__)
+
+{-# GENERATE_SPECS instance a :: Eq [a] #-}
+{-# GENERATE_SPECS instance a :: Ord [a] #-}
+{-# GENERATE_SPECS instance a :: Text [a] #-}
+
+instance _CCallable [Char#]
+instance _CReturnable [Char#]
+
+#endif
diff --git a/ghc/lib/prelude/IList_mc.hi b/ghc/lib/prelude/IList_mc.hi
new file mode 100644
index 0000000000..d98883a68c
--- /dev/null
+++ b/ghc/lib/prelude/IList_mc.hi
@@ -0,0 +1,52 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ord(..), Text(..), _CCallable(..), _CReturnable(..))
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IList_mg.hi b/ghc/lib/prelude/IList_mg.hi
new file mode 100644
index 0000000000..d98883a68c
--- /dev/null
+++ b/ghc/lib/prelude/IList_mg.hi
@@ -0,0 +1,52 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ord(..), Text(..), _CCallable(..), _CReturnable(..))
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IList_mp.hi b/ghc/lib/prelude/IList_mp.hi
new file mode 100644
index 0000000000..d98883a68c
--- /dev/null
+++ b/ghc/lib/prelude/IList_mp.hi
@@ -0,0 +1,52 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ord(..), Text(..), _CCallable(..), _CReturnable(..))
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IList_mr.hi b/ghc/lib/prelude/IList_mr.hi
new file mode 100644
index 0000000000..d98883a68c
--- /dev/null
+++ b/ghc/lib/prelude/IList_mr.hi
@@ -0,0 +1,52 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ord(..), Text(..), _CCallable(..), _CReturnable(..))
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IList_mt.hi b/ghc/lib/prelude/IList_mt.hi
new file mode 100644
index 0000000000..d98883a68c
--- /dev/null
+++ b/ghc/lib/prelude/IList_mt.hi
@@ -0,0 +1,52 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ord(..), Text(..), _CCallable(..), _CReturnable(..))
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IList_p.hi b/ghc/lib/prelude/IList_p.hi
new file mode 100644
index 0000000000..d98883a68c
--- /dev/null
+++ b/ghc/lib/prelude/IList_p.hi
@@ -0,0 +1,52 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ord(..), Text(..), _CCallable(..), _CReturnable(..))
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IList_t.hi b/ghc/lib/prelude/IList_t.hi
new file mode 100644
index 0000000000..d98883a68c
--- /dev/null
+++ b/ghc/lib/prelude/IList_t.hi
@@ -0,0 +1,52 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ord(..), Text(..), _CCallable(..), _CReturnable(..))
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/IO.hi b/ghc/lib/prelude/IO.hi
new file mode 100644
index 0000000000..14d05dd892
--- /dev/null
+++ b/ghc/lib/prelude/IO.hi
@@ -0,0 +1,71 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Bin, Char(..), Int(..), List(..))
+import PreludeCore(Bool(..), Text(..))
+abort :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 2 _U_ 00 _N_ _S_ "A" {_A_ 1 _U_ 0 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: IOError) -> _ORIG_ PreludeIO done _N_ #-}
+appendBinChan :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendChan :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+binDispatch :: (IOError -> [Response] -> a) -> (Bin -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+deleteFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+done :: [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_ #-}
+echo :: Bool -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+exit :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+getArgs :: (IOError -> [Response] -> [Request]) -> ([[Char]] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+getEnv :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+getProgName :: (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+interact :: ([Char] -> [Char]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+prints :: Text a => a -> [Char] -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1221 _N_ _N_ _N_ _N_ #-}
+readBinChan :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readBinFile :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+setEnv :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+sigAction :: Int -> SigAct -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+statusChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+statusFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+stdecho :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stderr :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+strDispatch :: (IOError -> [Response] -> a) -> ([Char] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+strListDispatch :: (IOError -> [Response] -> a) -> ([[Char]] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+succDispatch :: (IOError -> [Response] -> a) -> ([Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+writeBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+writeFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IO.hs b/ghc/lib/prelude/IO.hs
new file mode 100644
index 0000000000..53aa104335
--- /dev/null
+++ b/ghc/lib/prelude/IO.hs
@@ -0,0 +1,137 @@
+-- *** what's left after removing data/type decls
+
+-- I/O functions and definitions
+
+module PreludeIO where
+
+import Cls
+import Core
+import List ( (++), foldr )
+import PS ( _PackedString, _unpackPS )
+import Text
+import TyIO
+
+-- File and channel names:
+
+stdin = "stdin"
+stdout = "stdout"
+stderr = "stderr"
+stdecho = "stdecho"
+
+done :: Dialogue
+readFile :: String -> FailCont -> StrCont -> Dialogue
+writeFile :: String -> String -> FailCont -> SuccCont -> Dialogue
+appendFile :: String -> String -> FailCont -> SuccCont -> Dialogue
+readBinFile :: String -> FailCont -> BinCont -> Dialogue
+writeBinFile :: String -> Bin -> FailCont -> SuccCont -> Dialogue
+appendBinFile :: String -> Bin -> FailCont -> SuccCont -> Dialogue
+deleteFile :: String -> FailCont -> SuccCont -> Dialogue
+statusFile :: String -> FailCont -> StrCont -> Dialogue
+readChan :: String -> FailCont -> StrCont -> Dialogue
+appendChan :: String -> String -> FailCont -> SuccCont -> Dialogue
+readBinChan :: String -> FailCont -> BinCont -> Dialogue
+appendBinChan :: String -> Bin -> FailCont -> SuccCont -> Dialogue
+statusChan :: String -> FailCont -> StrCont -> Dialogue
+echo :: Bool -> FailCont -> SuccCont -> Dialogue
+getArgs :: FailCont -> StrListCont -> Dialogue
+getProgName :: FailCont -> StrCont -> Dialogue
+getEnv :: String -> FailCont -> StrCont -> Dialogue
+setEnv :: String -> String -> FailCont -> SuccCont -> Dialogue
+sigAction :: Int -> SigAct -> FailCont -> SuccCont -> Dialogue
+
+done resps = []
+
+readFile name fail succ resps =
+ (ReadFile name) : strDispatch fail succ resps
+
+writeFile name contents fail succ resps =
+ (WriteFile name contents) : succDispatch fail succ resps
+
+appendFile name contents fail succ resps =
+ (AppendFile name contents) : succDispatch fail succ resps
+
+readBinFile name fail succ resps =
+ (ReadBinFile name) : binDispatch fail succ resps
+
+writeBinFile name contents fail succ resps =
+ (WriteBinFile name contents) : succDispatch fail succ resps
+
+appendBinFile name contents fail succ resps =
+ (AppendBinFile name contents) : succDispatch fail succ resps
+
+deleteFile name fail succ resps =
+ (DeleteFile name) : succDispatch fail succ resps
+
+statusFile name fail succ resps =
+ (StatusFile name) : strDispatch fail succ resps
+
+readChan name fail succ resps =
+ (ReadChan name) : strDispatch fail succ resps
+
+appendChan name contents fail succ resps =
+ (AppendChan name contents) : succDispatch fail succ resps
+
+readBinChan name fail succ resps =
+ (ReadBinChan name) : binDispatch fail succ resps
+
+appendBinChan name contents fail succ resps =
+ (AppendBinChan name contents) : succDispatch fail succ resps
+
+statusChan name fail succ resps =
+ (StatusChan name) : strDispatch fail succ resps
+
+echo bool fail succ resps =
+ (Echo bool) : succDispatch fail succ resps
+
+getArgs fail succ resps =
+ GetArgs : strListDispatch fail succ resps
+
+getProgName fail succ resps =
+ GetProgName : strDispatch fail succ resps
+
+getEnv name fail succ resps =
+ (GetEnv name) : strDispatch fail succ resps
+
+setEnv name val fail succ resps =
+ (SetEnv name val) : succDispatch fail succ resps
+
+sigAction signal action fail succ resps =
+ (SigAction signal action) : succDispatch fail succ resps
+
+strDispatch fail succ (resp:resps) =
+ case resp of Str val -> succ val resps
+ Failure msg -> fail msg resps
+
+strListDispatch fail succ (resp:resps) =
+ case resp of StrList val -> succ val resps
+ Failure msg -> fail msg resps
+
+binDispatch fail succ (resp:resps) =
+ case resp of Bn val -> succ val resps
+ Failure msg -> fail msg resps
+
+succDispatch fail succ (resp:resps) =
+ case resp of Success -> succ resps
+ Failure msg -> fail msg resps
+
+
+abort :: FailCont
+abort err = done
+
+exit :: FailCont
+exit err = appendChan stderr (msg ++ "\n") abort done
+ where msg = case err of ReadError s -> s
+ WriteError s -> s
+ SearchError s -> s
+ FormatError s -> s
+ OtherError s -> s
+ EOD -> "EOD"
+
+print :: (Text a) => a -> Dialogue
+print x = appendChan stdout (show x) exit done
+prints :: (Text a) => a -> String -> Dialogue
+prints x s = appendChan stdout (shows x s) exit done
+
+interact :: (String -> String) -> Dialogue
+interact f = readChan stdin exit
+ (\x -> appendChan stdout (f x) exit done)
diff --git a/ghc/lib/prelude/IO_mc.hi b/ghc/lib/prelude/IO_mc.hi
new file mode 100644
index 0000000000..14d05dd892
--- /dev/null
+++ b/ghc/lib/prelude/IO_mc.hi
@@ -0,0 +1,71 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Bin, Char(..), Int(..), List(..))
+import PreludeCore(Bool(..), Text(..))
+abort :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 2 _U_ 00 _N_ _S_ "A" {_A_ 1 _U_ 0 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: IOError) -> _ORIG_ PreludeIO done _N_ #-}
+appendBinChan :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendChan :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+binDispatch :: (IOError -> [Response] -> a) -> (Bin -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+deleteFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+done :: [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_ #-}
+echo :: Bool -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+exit :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+getArgs :: (IOError -> [Response] -> [Request]) -> ([[Char]] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+getEnv :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+getProgName :: (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+interact :: ([Char] -> [Char]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+prints :: Text a => a -> [Char] -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1221 _N_ _N_ _N_ _N_ #-}
+readBinChan :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readBinFile :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+setEnv :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+sigAction :: Int -> SigAct -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+statusChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+statusFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+stdecho :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stderr :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+strDispatch :: (IOError -> [Response] -> a) -> ([Char] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+strListDispatch :: (IOError -> [Response] -> a) -> ([[Char]] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+succDispatch :: (IOError -> [Response] -> a) -> ([Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+writeBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+writeFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IO_mg.hi b/ghc/lib/prelude/IO_mg.hi
new file mode 100644
index 0000000000..14d05dd892
--- /dev/null
+++ b/ghc/lib/prelude/IO_mg.hi
@@ -0,0 +1,71 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Bin, Char(..), Int(..), List(..))
+import PreludeCore(Bool(..), Text(..))
+abort :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 2 _U_ 00 _N_ _S_ "A" {_A_ 1 _U_ 0 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: IOError) -> _ORIG_ PreludeIO done _N_ #-}
+appendBinChan :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendChan :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+binDispatch :: (IOError -> [Response] -> a) -> (Bin -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+deleteFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+done :: [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_ #-}
+echo :: Bool -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+exit :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+getArgs :: (IOError -> [Response] -> [Request]) -> ([[Char]] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+getEnv :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+getProgName :: (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+interact :: ([Char] -> [Char]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+prints :: Text a => a -> [Char] -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1221 _N_ _N_ _N_ _N_ #-}
+readBinChan :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readBinFile :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+setEnv :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+sigAction :: Int -> SigAct -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+statusChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+statusFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+stdecho :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stderr :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+strDispatch :: (IOError -> [Response] -> a) -> ([Char] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+strListDispatch :: (IOError -> [Response] -> a) -> ([[Char]] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+succDispatch :: (IOError -> [Response] -> a) -> ([Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+writeBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+writeFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IO_mp.hi b/ghc/lib/prelude/IO_mp.hi
new file mode 100644
index 0000000000..14d05dd892
--- /dev/null
+++ b/ghc/lib/prelude/IO_mp.hi
@@ -0,0 +1,71 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Bin, Char(..), Int(..), List(..))
+import PreludeCore(Bool(..), Text(..))
+abort :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 2 _U_ 00 _N_ _S_ "A" {_A_ 1 _U_ 0 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: IOError) -> _ORIG_ PreludeIO done _N_ #-}
+appendBinChan :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendChan :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+binDispatch :: (IOError -> [Response] -> a) -> (Bin -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+deleteFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+done :: [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_ #-}
+echo :: Bool -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+exit :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+getArgs :: (IOError -> [Response] -> [Request]) -> ([[Char]] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+getEnv :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+getProgName :: (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+interact :: ([Char] -> [Char]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+prints :: Text a => a -> [Char] -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1221 _N_ _N_ _N_ _N_ #-}
+readBinChan :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readBinFile :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+setEnv :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+sigAction :: Int -> SigAct -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+statusChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+statusFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+stdecho :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stderr :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+strDispatch :: (IOError -> [Response] -> a) -> ([Char] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+strListDispatch :: (IOError -> [Response] -> a) -> ([[Char]] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+succDispatch :: (IOError -> [Response] -> a) -> ([Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+writeBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+writeFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IO_mr.hi b/ghc/lib/prelude/IO_mr.hi
new file mode 100644
index 0000000000..14d05dd892
--- /dev/null
+++ b/ghc/lib/prelude/IO_mr.hi
@@ -0,0 +1,71 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Bin, Char(..), Int(..), List(..))
+import PreludeCore(Bool(..), Text(..))
+abort :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 2 _U_ 00 _N_ _S_ "A" {_A_ 1 _U_ 0 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: IOError) -> _ORIG_ PreludeIO done _N_ #-}
+appendBinChan :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendChan :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+binDispatch :: (IOError -> [Response] -> a) -> (Bin -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+deleteFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+done :: [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_ #-}
+echo :: Bool -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+exit :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+getArgs :: (IOError -> [Response] -> [Request]) -> ([[Char]] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+getEnv :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+getProgName :: (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+interact :: ([Char] -> [Char]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+prints :: Text a => a -> [Char] -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1221 _N_ _N_ _N_ _N_ #-}
+readBinChan :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readBinFile :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+setEnv :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+sigAction :: Int -> SigAct -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+statusChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+statusFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+stdecho :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stderr :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+strDispatch :: (IOError -> [Response] -> a) -> ([Char] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+strListDispatch :: (IOError -> [Response] -> a) -> ([[Char]] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+succDispatch :: (IOError -> [Response] -> a) -> ([Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+writeBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+writeFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IO_mt.hi b/ghc/lib/prelude/IO_mt.hi
new file mode 100644
index 0000000000..14d05dd892
--- /dev/null
+++ b/ghc/lib/prelude/IO_mt.hi
@@ -0,0 +1,71 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Bin, Char(..), Int(..), List(..))
+import PreludeCore(Bool(..), Text(..))
+abort :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 2 _U_ 00 _N_ _S_ "A" {_A_ 1 _U_ 0 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: IOError) -> _ORIG_ PreludeIO done _N_ #-}
+appendBinChan :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendChan :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+binDispatch :: (IOError -> [Response] -> a) -> (Bin -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+deleteFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+done :: [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_ #-}
+echo :: Bool -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+exit :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+getArgs :: (IOError -> [Response] -> [Request]) -> ([[Char]] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+getEnv :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+getProgName :: (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+interact :: ([Char] -> [Char]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+prints :: Text a => a -> [Char] -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1221 _N_ _N_ _N_ _N_ #-}
+readBinChan :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readBinFile :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+setEnv :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+sigAction :: Int -> SigAct -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+statusChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+statusFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+stdecho :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stderr :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+strDispatch :: (IOError -> [Response] -> a) -> ([Char] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+strListDispatch :: (IOError -> [Response] -> a) -> ([[Char]] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+succDispatch :: (IOError -> [Response] -> a) -> ([Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+writeBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+writeFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IO_p.hi b/ghc/lib/prelude/IO_p.hi
new file mode 100644
index 0000000000..14d05dd892
--- /dev/null
+++ b/ghc/lib/prelude/IO_p.hi
@@ -0,0 +1,71 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Bin, Char(..), Int(..), List(..))
+import PreludeCore(Bool(..), Text(..))
+abort :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 2 _U_ 00 _N_ _S_ "A" {_A_ 1 _U_ 0 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: IOError) -> _ORIG_ PreludeIO done _N_ #-}
+appendBinChan :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendChan :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+binDispatch :: (IOError -> [Response] -> a) -> (Bin -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+deleteFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+done :: [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_ #-}
+echo :: Bool -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+exit :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+getArgs :: (IOError -> [Response] -> [Request]) -> ([[Char]] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+getEnv :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+getProgName :: (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+interact :: ([Char] -> [Char]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+prints :: Text a => a -> [Char] -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1221 _N_ _N_ _N_ _N_ #-}
+readBinChan :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readBinFile :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+setEnv :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+sigAction :: Int -> SigAct -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+statusChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+statusFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+stdecho :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stderr :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+strDispatch :: (IOError -> [Response] -> a) -> ([Char] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+strListDispatch :: (IOError -> [Response] -> a) -> ([[Char]] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+succDispatch :: (IOError -> [Response] -> a) -> ([Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+writeBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+writeFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IO_t.hi b/ghc/lib/prelude/IO_t.hi
new file mode 100644
index 0000000000..14d05dd892
--- /dev/null
+++ b/ghc/lib/prelude/IO_t.hi
@@ -0,0 +1,71 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Bin, Char(..), Int(..), List(..))
+import PreludeCore(Bool(..), Text(..))
+abort :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 2 _U_ 00 _N_ _S_ "A" {_A_ 1 _U_ 0 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: IOError) -> _ORIG_ PreludeIO done _N_ #-}
+appendBinChan :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendChan :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+binDispatch :: (IOError -> [Response] -> a) -> (Bin -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+deleteFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+done :: [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_ #-}
+echo :: Bool -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+exit :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+getArgs :: (IOError -> [Response] -> [Request]) -> ([[Char]] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+getEnv :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+getProgName :: (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+interact :: ([Char] -> [Char]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+prints :: Text a => a -> [Char] -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1221 _N_ _N_ _N_ _N_ #-}
+readBinChan :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readBinFile :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+setEnv :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+sigAction :: Int -> SigAct -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+statusChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+statusFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+stdecho :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stderr :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+strDispatch :: (IOError -> [Response] -> a) -> ([Char] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+strListDispatch :: (IOError -> [Response] -> a) -> ([[Char]] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+succDispatch :: (IOError -> [Response] -> a) -> ([Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+writeBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+writeFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IRatio.hi b/ghc/lib/prelude/IRatio.hi
new file mode 100644
index 0000000000..0017c60593
--- /dev/null
+++ b/ghc/lib/prelude/IRatio.hi
@@ -0,0 +1,83 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeRatio where
+import PreludeBuiltin(Int(..), Integer(..))
+import PreludeCore(Enum(..), Eq(..), Fractional(..), Integral(..), Num(..), Ord(..), Real(..), RealFrac(..), Text(..))
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+prec :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [7#] _N_ #-}
+reduce :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)ALLAAAAAAAA)" {_A_ 5 _U_ 2222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IRatio.hs b/ghc/lib/prelude/IRatio.hs
new file mode 100644
index 0000000000..53cbeeeb48
--- /dev/null
+++ b/ghc/lib/prelude/IRatio.hs
@@ -0,0 +1,156 @@
+--*** All of PreludeRatio, except the actual data/type decls.
+--*** data Ratio ... is builtin (no need to import TyRatio)
+
+module PreludeRatio where
+
+import Cls
+import Core
+import IChar
+import IDouble
+import IFloat
+import IInt
+import IInteger
+import IList
+import List ( iterate, (++), foldr, takeWhile )
+import Prel ( (&&), (||), (.), otherwise, gcd, fromIntegral, id )
+import PS ( _PackedString, _unpackPS )
+import Text
+
+--infixl 7 %, :%
+
+prec = (7 :: Int)
+
+{-# GENERATE_SPECS (%) a{Integer} #-}
+(%) :: (Integral a) => a -> a -> Ratio a
+
+numerator :: Ratio a -> a
+numerator (x:%y) = x
+
+denominator :: Ratio a -> a
+denominator (x:%y) = y
+
+
+x % y = reduce (x * signum y) (abs y)
+
+reduce _ 0 = error "(%){PreludeRatio}: zero denominator\n"
+reduce x y = (x `quot` d) :% (y `quot` d)
+ where d = gcd x y
+
+instance (Integral a) => Eq (Ratio a) where
+ {- works because Ratios held in reduced form -}
+ (x :% y) == (x2 :% y2) = x == x2 && y == y2
+ (x :% y) /= (x2 :% y2) = x /= x2 || y /= y2
+
+instance (Integral a) => Ord (Ratio a) where
+ (x1:%y1) <= (x2:%y2) = x1 * y2 <= x2 * y1
+ (x1:%y1) < (x2:%y2) = x1 * y2 < x2 * y1
+ (x1:%y1) >= (x2:%y2) = x1 * y2 >= x2 * y1
+ (x1:%y1) > (x2:%y2) = x1 * y2 > x2 * y1
+ min x y | x <= y = x
+ min x y | otherwise = y
+ max x y | x >= y = x
+ max x y | otherwise = y
+ _tagCmp (x1:%y1) (x2:%y2)
+ = if x1y2 == x2y1 then _EQ else if x1y2 < x2y1 then _LT else _GT
+ where x1y2 = x1 * y2
+ x2y1 = x2 * y1
+
+instance (Integral a) => Num (Ratio a) where
+ (x1:%y1) + (x2:%y2) = reduce (x1*y2 + x2*y1) (y1*y2)
+ (x1:%y1) - (x2:%y2) = reduce (x1*y2 - x2*y1) (y1*y2)
+ (x1:%y1) * (x2:%y2) = reduce (x1 * x2) (y1 * y2)
+ negate (x:%y) = (-x) :% y
+ abs (x:%y) = abs x :% y
+ signum (x:%y) = signum x :% 1
+ fromInteger x = fromInteger x :% 1
+ fromInt x = fromInt x :% 1
+
+instance (Integral a) => Real (Ratio a) where
+ toRational (x:%y) = toInteger x :% toInteger y
+
+instance (Integral a) => Fractional (Ratio a) where
+ (x1:%y1) / (x2:%y2) = (x1*y2) % (y1*x2)
+ recip (x:%y) = if x < 0 then (-y) :% (-x) else y :% x
+ fromRational (x:%y) = fromInteger x :% fromInteger y
+
+instance (Integral a) => RealFrac (Ratio a) where
+ properFraction (x:%y) = (fromIntegral q, r:%y)
+ where (q,r) = quotRem x y
+
+ -- just call the versions in Core.hs
+ truncate x = _truncate x
+ round x = _round x
+ ceiling x = _ceiling x
+ floor x = _floor x
+
+instance (Integral a) => Enum (Ratio a) where
+ enumFrom = iterate ((+)1)
+ enumFromThen n m = iterate ((+)(m-n)) n
+ enumFromTo n m = takeWhile (<= m) (enumFrom n)
+ enumFromThenTo n m p = takeWhile (if m >= n then (<= p) else (>= p))
+ (enumFromThen n m)
+
+instance (Integral a) => Text (Ratio a) where
+ readsPrec p = readParen (p > prec)
+ (\r -> [(x%y,u) | (x,s) <- reads r,
+ ("%",t) <- lex s,
+ (y,u) <- reads t ])
+
+ showsPrec p (x:%y) = showParen (p > prec)
+ (shows x . showString " % " . shows y)
+
+{-# SPECIALIZE instance Eq (Ratio Integer) #-}
+{-# SPECIALIZE instance Ord (Ratio Integer) #-}
+{-# SPECIALIZE instance Num (Ratio Integer) #-}
+{-# SPECIALIZE instance Real (Ratio Integer) #-}
+{-# SPECIALIZE instance Fractional (Ratio Integer) #-}
+{-# SPECIALIZE instance RealFrac (Ratio Integer) #-}
+{-# SPECIALIZE instance Enum (Ratio Integer) #-}
+{-# SPECIALIZE instance Text (Ratio Integer) #-}
+
+{- ToDo: Ratio Int# ???
+#if defined(__UNBOXED_INSTANCES__)
+
+{-# SPECIALIZE instance Eq (Ratio Int#) #-}
+{-# SPECIALIZE instance Ord (Ratio Int#) #-}
+{-# SPECIALIZE instance Num (Ratio Int#) #-}
+{-# SPECIALIZE instance Real (Ratio Int#) #-}
+{-# SPECIALIZE instance Fractional (Ratio Int#) #-}
+{-# SPECIALIZE instance RealFrac (Ratio Int#) #-}
+{-# SPECIALIZE instance Enum (Ratio Int#) #-}
+{-# SPECIALIZE instance Text (Ratio Int#) #-}
+
+#endif
+-}
+
+-- approxRational, applied to two real fractional numbers x and epsilon,
+-- returns the simplest rational number within epsilon of x. A rational
+-- number n%d in reduced form is said to be simpler than another n'%d' if
+-- abs n <= abs n' && d <= d'. Any real interval contains a unique
+-- simplest rational; here, for simplicity, we assume a closed rational
+-- interval. If such an interval includes at least one whole number, then
+-- the simplest rational is the absolutely least whole number. Otherwise,
+-- the bounds are of the form q%1 + r%d and q%1 + r'%d', where abs r < d
+-- and abs r' < d', and the simplest rational is q%1 + the reciprocal of
+-- the simplest rational between d'%r' and d%r.
+
+--{-# GENERATE_SPECS approxRational a{Double#,Double} #-}
+{-# GENERATE_SPECS approxRational a{Double} #-}
+approxRational :: (RealFrac a) => a -> a -> Rational
+
+approxRational x eps = simplest (x-eps) (x+eps)
+ where simplest x y | y < x = simplest y x
+ | x == y = xr
+ | x > 0 = simplest' n d n' d'
+ | y < 0 = - simplest' (-n') d' (-n) d
+ | otherwise = 0 :% 1
+ where xr@(n:%d) = toRational x
+ (n':%d') = toRational y
+
+ simplest' n d n' d' -- assumes 0 < n%d < n'%d'
+ | r == 0 = q :% 1
+ | q /= q' = (q+1) :% 1
+ | otherwise = (q*n''+d'') :% n''
+ where (q,r) = quotRem n d
+ (q',r') = quotRem n' d'
+ (n'':%d'') = simplest' d' r' d r
diff --git a/ghc/lib/prelude/IRatio_mc.hi b/ghc/lib/prelude/IRatio_mc.hi
new file mode 100644
index 0000000000..0017c60593
--- /dev/null
+++ b/ghc/lib/prelude/IRatio_mc.hi
@@ -0,0 +1,83 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeRatio where
+import PreludeBuiltin(Int(..), Integer(..))
+import PreludeCore(Enum(..), Eq(..), Fractional(..), Integral(..), Num(..), Ord(..), Real(..), RealFrac(..), Text(..))
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+prec :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [7#] _N_ #-}
+reduce :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)ALLAAAAAAAA)" {_A_ 5 _U_ 2222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IRatio_mg.hi b/ghc/lib/prelude/IRatio_mg.hi
new file mode 100644
index 0000000000..0017c60593
--- /dev/null
+++ b/ghc/lib/prelude/IRatio_mg.hi
@@ -0,0 +1,83 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeRatio where
+import PreludeBuiltin(Int(..), Integer(..))
+import PreludeCore(Enum(..), Eq(..), Fractional(..), Integral(..), Num(..), Ord(..), Real(..), RealFrac(..), Text(..))
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+prec :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [7#] _N_ #-}
+reduce :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)ALLAAAAAAAA)" {_A_ 5 _U_ 2222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IRatio_mp.hi b/ghc/lib/prelude/IRatio_mp.hi
new file mode 100644
index 0000000000..0017c60593
--- /dev/null
+++ b/ghc/lib/prelude/IRatio_mp.hi
@@ -0,0 +1,83 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeRatio where
+import PreludeBuiltin(Int(..), Integer(..))
+import PreludeCore(Enum(..), Eq(..), Fractional(..), Integral(..), Num(..), Ord(..), Real(..), RealFrac(..), Text(..))
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+prec :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [7#] _N_ #-}
+reduce :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)ALLAAAAAAAA)" {_A_ 5 _U_ 2222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IRatio_mr.hi b/ghc/lib/prelude/IRatio_mr.hi
new file mode 100644
index 0000000000..0017c60593
--- /dev/null
+++ b/ghc/lib/prelude/IRatio_mr.hi
@@ -0,0 +1,83 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeRatio where
+import PreludeBuiltin(Int(..), Integer(..))
+import PreludeCore(Enum(..), Eq(..), Fractional(..), Integral(..), Num(..), Ord(..), Real(..), RealFrac(..), Text(..))
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+prec :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [7#] _N_ #-}
+reduce :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)ALLAAAAAAAA)" {_A_ 5 _U_ 2222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IRatio_mt.hi b/ghc/lib/prelude/IRatio_mt.hi
new file mode 100644
index 0000000000..0017c60593
--- /dev/null
+++ b/ghc/lib/prelude/IRatio_mt.hi
@@ -0,0 +1,83 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeRatio where
+import PreludeBuiltin(Int(..), Integer(..))
+import PreludeCore(Enum(..), Eq(..), Fractional(..), Integral(..), Num(..), Ord(..), Real(..), RealFrac(..), Text(..))
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+prec :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [7#] _N_ #-}
+reduce :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)ALLAAAAAAAA)" {_A_ 5 _U_ 2222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IRatio_p.hi b/ghc/lib/prelude/IRatio_p.hi
new file mode 100644
index 0000000000..0017c60593
--- /dev/null
+++ b/ghc/lib/prelude/IRatio_p.hi
@@ -0,0 +1,83 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeRatio where
+import PreludeBuiltin(Int(..), Integer(..))
+import PreludeCore(Enum(..), Eq(..), Fractional(..), Integral(..), Num(..), Ord(..), Real(..), RealFrac(..), Text(..))
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+prec :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [7#] _N_ #-}
+reduce :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)ALLAAAAAAAA)" {_A_ 5 _U_ 2222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/IRatio_t.hi b/ghc/lib/prelude/IRatio_t.hi
new file mode 100644
index 0000000000..0017c60593
--- /dev/null
+++ b/ghc/lib/prelude/IRatio_t.hi
@@ -0,0 +1,83 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeRatio where
+import PreludeBuiltin(Int(..), Integer(..))
+import PreludeCore(Enum(..), Eq(..), Fractional(..), Integral(..), Num(..), Ord(..), Real(..), RealFrac(..), Text(..))
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+prec :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [7#] _N_ #-}
+reduce :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)ALLAAAAAAAA)" {_A_ 5 _U_ 2222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup0.hi b/ghc/lib/prelude/ITup0.hi
new file mode 100644
index 0000000000..6a83051ad2
--- /dev/null
+++ b/ghc/lib/prelude/ITup0.hi
@@ -0,0 +1,34 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Enum(..), Eq(..), Ix(..), Ord(..), Text(..))
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup0.hs b/ghc/lib/prelude/ITup0.hs
new file mode 100644
index 0000000000..32776c8d47
--- /dev/null
+++ b/ghc/lib/prelude/ITup0.hs
@@ -0,0 +1,43 @@
+module PreludeBuiltin where
+
+--- 0-tuple (trivial type "()" ) ---------------------------------
+
+import Cls
+import Core
+import IChar
+import IList
+import List ( (++), foldr )
+import PS ( _PackedString, _unpackPS )
+import Text
+
+instance Eq () where
+ () == () = True
+ () /= () = False
+
+instance Ord () where
+ () <= () = True
+ () < () = False
+ () >= () = True
+ () > () = False
+ max () () = ()
+ min () () = ()
+ _tagCmp () () = _EQ
+
+instance Text () where
+ readsPrec p = readParen False
+ (\r -> [((),t) | ("(",s) <- lex r,
+ (")",t) <- lex s ] )
+ showsPrec p () = showString "()"
+
+instance Ix () where
+ range ((), ()) = [()]
+ index ((), ()) () = 0
+ inRange ((), ()) () = True
+
+instance Enum () where
+ enumFrom () = [()]
+ enumFromThen () () = [()]
+ enumFromTo () () = [()]
+ enumFromThenTo () () () = [()]
+
+-- ToDo: something for Binary
diff --git a/ghc/lib/prelude/ITup0_mc.hi b/ghc/lib/prelude/ITup0_mc.hi
new file mode 100644
index 0000000000..6a83051ad2
--- /dev/null
+++ b/ghc/lib/prelude/ITup0_mc.hi
@@ -0,0 +1,34 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Enum(..), Eq(..), Ix(..), Ord(..), Text(..))
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup0_mg.hi b/ghc/lib/prelude/ITup0_mg.hi
new file mode 100644
index 0000000000..6a83051ad2
--- /dev/null
+++ b/ghc/lib/prelude/ITup0_mg.hi
@@ -0,0 +1,34 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Enum(..), Eq(..), Ix(..), Ord(..), Text(..))
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup0_mp.hi b/ghc/lib/prelude/ITup0_mp.hi
new file mode 100644
index 0000000000..6a83051ad2
--- /dev/null
+++ b/ghc/lib/prelude/ITup0_mp.hi
@@ -0,0 +1,34 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Enum(..), Eq(..), Ix(..), Ord(..), Text(..))
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup0_mr.hi b/ghc/lib/prelude/ITup0_mr.hi
new file mode 100644
index 0000000000..6a83051ad2
--- /dev/null
+++ b/ghc/lib/prelude/ITup0_mr.hi
@@ -0,0 +1,34 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Enum(..), Eq(..), Ix(..), Ord(..), Text(..))
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup0_mt.hi b/ghc/lib/prelude/ITup0_mt.hi
new file mode 100644
index 0000000000..6a83051ad2
--- /dev/null
+++ b/ghc/lib/prelude/ITup0_mt.hi
@@ -0,0 +1,34 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Enum(..), Eq(..), Ix(..), Ord(..), Text(..))
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup0_p.hi b/ghc/lib/prelude/ITup0_p.hi
new file mode 100644
index 0000000000..6a83051ad2
--- /dev/null
+++ b/ghc/lib/prelude/ITup0_p.hi
@@ -0,0 +1,34 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Enum(..), Eq(..), Ix(..), Ord(..), Text(..))
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup0_t.hi b/ghc/lib/prelude/ITup0_t.hi
new file mode 100644
index 0000000000..6a83051ad2
--- /dev/null
+++ b/ghc/lib/prelude/ITup0_t.hi
@@ -0,0 +1,34 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Enum(..), Eq(..), Ix(..), Ord(..), Text(..))
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup2.hi b/ghc/lib/prelude/ITup2.hi
new file mode 100644
index 0000000000..b57179dbc8
--- /dev/null
+++ b/ghc/lib/prelude/ITup2.hi
@@ -0,0 +1,56 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+import PreludePS(_PackedString)
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup2.hs b/ghc/lib/prelude/ITup2.hs
new file mode 100644
index 0000000000..33dc89d7cb
--- /dev/null
+++ b/ghc/lib/prelude/ITup2.hs
@@ -0,0 +1,69 @@
+module PreludeBuiltin where
+
+--- 2-tuples ------------------------------------------
+
+import Cls
+import Core
+import IInt
+import IInteger
+import IList
+import List ( (++), foldr )
+import Prel ( (&&), (.) )
+import PS ( _PackedString, _unpackPS )
+import Text
+
+instance (Eq a, Eq b) => Eq (a, b) where
+ (a,b) == (c,d) = a == c && b == d
+
+instance (Ord a, Ord b) => Ord (a, b) where
+ a < b = case _tagCmp a b of { _LT -> True; _EQ -> False; _GT -> False }
+ a <= b = case _tagCmp a b of { _LT -> True; _EQ -> True; _GT -> False }
+ a >= b = case _tagCmp a b of { _LT -> False; _EQ -> True; _GT -> True }
+ a > b = case _tagCmp a b of { _LT -> False; _EQ -> False; _GT -> True }
+ max a b = case _tagCmp a b of { _LT -> b; _EQ -> a; _GT -> a }
+ min a b = case _tagCmp a b of { _LT -> a; _EQ -> a; _GT -> b }
+ _tagCmp (a1, b1) (a2, b2) = case (_tagCmp a1 a2) of
+ _LT -> _LT
+ _GT -> _GT
+ _EQ -> _tagCmp b1 b2
+
+instance (Ix a, Ix b) => Ix (a, b) where
+ range ((l1,l2),(u1,u2))
+ = [ (i1,i2) | i1 <- range (l1,u1), i2 <- range (l2,u2) ]
+
+ index ((l1,l2),(u1,u2)) (i1,i2)
+ = index (l1,u1) i1 * (index (l2,u2) u2 + 1){-rangeSize (l2,u2)-} + index (l2,u2) i2
+
+ inRange ((l1,l2),(u1,u2)) (i1,i2)
+ = inRange (l1,u1) i1 && inRange (l2,u2) i2
+
+instance (Text a, Text b) => Text (a, b) where
+ readsPrec p = readParen False
+ (\r -> [((x,y), w) | ("(",s) <- lex r,
+ (x,t) <- reads s,
+ (",",u) <- lex t,
+ (y,v) <- reads u,
+ (")",w) <- lex v ] )
+
+ showsPrec p (x,y) = showChar '(' . shows x . showString ", " .
+ shows y . showChar ')'
+
+{-# SPECIALIZE instance Eq (Int, Int) #-}
+{-# SPECIALIZE instance Ord (Int, Int) #-}
+{-# SPECIALIZE instance Ix (Int, Int) #-}
+{-# SPECIALIZE instance Text (Int, Int) #-}
+
+{-# SPECIALIZE instance Text (Integer, Integer) #-}
+
+{-# SPECIALIZE instance Eq (_PackedString, _PackedString) #-}
+{-# SPECIALIZE instance Ord (_PackedString, _PackedString) #-}
+
+#if defined(__UNBOXED_INSTANCES__)
+-- We generate SPECIALIZED instances for all combinations of unboxed pairs
+
+{-# GENERATE_SPECS instance a b :: Eq (a,b) #-}
+{-# GENERATE_SPECS instance a b :: Ord (a,b) #-}
+{-# GENERATE_SPECS instance a{Char#,Int#} b{Char#,Int#} :: Ix (a,b) #-}
+{-# GENERATE_SPECS instance a b :: Text (a,b) #-}
+
+#endif {-UNBOXED INSTANCES-}
diff --git a/ghc/lib/prelude/ITup2_mc.hi b/ghc/lib/prelude/ITup2_mc.hi
new file mode 100644
index 0000000000..b57179dbc8
--- /dev/null
+++ b/ghc/lib/prelude/ITup2_mc.hi
@@ -0,0 +1,56 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+import PreludePS(_PackedString)
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup2_mg.hi b/ghc/lib/prelude/ITup2_mg.hi
new file mode 100644
index 0000000000..b57179dbc8
--- /dev/null
+++ b/ghc/lib/prelude/ITup2_mg.hi
@@ -0,0 +1,56 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+import PreludePS(_PackedString)
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup2_mp.hi b/ghc/lib/prelude/ITup2_mp.hi
new file mode 100644
index 0000000000..b57179dbc8
--- /dev/null
+++ b/ghc/lib/prelude/ITup2_mp.hi
@@ -0,0 +1,56 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+import PreludePS(_PackedString)
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup2_mr.hi b/ghc/lib/prelude/ITup2_mr.hi
new file mode 100644
index 0000000000..b57179dbc8
--- /dev/null
+++ b/ghc/lib/prelude/ITup2_mr.hi
@@ -0,0 +1,56 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+import PreludePS(_PackedString)
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup2_mt.hi b/ghc/lib/prelude/ITup2_mt.hi
new file mode 100644
index 0000000000..b57179dbc8
--- /dev/null
+++ b/ghc/lib/prelude/ITup2_mt.hi
@@ -0,0 +1,56 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+import PreludePS(_PackedString)
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup2_p.hi b/ghc/lib/prelude/ITup2_p.hi
new file mode 100644
index 0000000000..b57179dbc8
--- /dev/null
+++ b/ghc/lib/prelude/ITup2_p.hi
@@ -0,0 +1,56 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+import PreludePS(_PackedString)
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup2_t.hi b/ghc/lib/prelude/ITup2_t.hi
new file mode 100644
index 0000000000..b57179dbc8
--- /dev/null
+++ b/ghc/lib/prelude/ITup2_t.hi
@@ -0,0 +1,56 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+import PreludePS(_PackedString)
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup3.hi b/ghc/lib/prelude/ITup3.hi
new file mode 100644
index 0000000000..2a3e9f8bcb
--- /dev/null
+++ b/ghc/lib/prelude/ITup3.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup3.hs b/ghc/lib/prelude/ITup3.hs
new file mode 100644
index 0000000000..24e8f866ed
--- /dev/null
+++ b/ghc/lib/prelude/ITup3.hs
@@ -0,0 +1,91 @@
+module PreludeBuiltin where
+
+--- 3-tuples ------------------------------------------
+
+import Cls
+import Core
+import IChar
+import IInt
+import IList
+import List ( (++), foldr )
+import Prel ( (&&), (.) )
+import PS ( _PackedString, _unpackPS )
+import Text
+
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c) where
+ (a1,a2,a3) == (b1,b2,b3) = a1 == b1 && a2 == b2 && a3 == b3
+ aaa /= bbb = if (aaa == bbb) then False else True
+
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c) where
+ a < b = case _tagCmp a b of { _LT -> True; _EQ -> False; _GT -> False }
+ a <= b = case _tagCmp a b of { _LT -> True; _EQ -> True; _GT -> False }
+ a >= b = case _tagCmp a b of { _LT -> False; _EQ -> True; _GT -> True }
+ a > b = case _tagCmp a b of { _LT -> False; _EQ -> False; _GT -> True }
+
+ max a b = case _tagCmp a b of { _LT -> b; _EQ -> a; _GT -> a }
+ min a b = case _tagCmp a b of { _LT -> a; _EQ -> a; _GT -> b }
+
+ _tagCmp (a1, b1, c1) (a2, b2, c2)
+ = case (_tagCmp a1 a2) of {
+ _LT -> _LT;
+ _GT -> _GT;
+ _EQ -> case _tagCmp b1 b2 of {
+ _LT -> _LT;
+ _GT -> _GT;
+ _EQ -> _tagCmp c1 c2
+ }
+ }
+
+instance (Ix a1, Ix a2, Ix a3) => Ix (a1,a2,a3) where
+ range ((l1,l2,l3),(u1,u2,u3)) =
+ [(i1,i2,i3) | i1 <- range (l1,u1),
+ i2 <- range (l2,u2),
+ i3 <- range (l3,u3)]
+
+ index ((l1,l2,l3),(u1,u2,u3)) (i1,i2,i3) =
+ index (l3,u3) i3 + rangeSize (l3,u3) * (
+ index (l2,u2) i2 + rangeSize (l2,u2) * (
+ index (l1,u1) i1))
+ where
+ rangeSize (l,u) = index (l,u) u + (1 :: Int)
+
+ inRange ((l1,l2,l3),(u1,u2,u3)) (i1,i2,i3) =
+ inRange (l1,u1) i1 && inRange (l2,u2) i2 &&
+ inRange (l3,u3) i3
+
+-- ToDo: something for Binary
+
+instance (Text a, Text b, Text c) => Text (a, b, c) where
+ readsPrec p = readParen False
+ (\a -> [((x,y,z), h) | ("(",b) <- lex a,
+ (x,c) <- reads b,
+ (",",d) <- lex c,
+ (y,e) <- reads d,
+ (",",f) <- lex e,
+ (z,g) <- reads f,
+ (")",h) <- lex g ] )
+
+ showsPrec p (x,y,z) = showChar '(' . shows x . showString ", " .
+ shows y . showString ", " .
+ shows z . showChar ')'
+
+#if defined(__UNBOXED_INSTANCES__)
+
+-- We only create SPECIALIZED instances unboxed tuples
+-- which have all the same unboxed component
+
+-- {-# SPECIALIZE instance Eq (Char#,Char#,Char#) #-}
+-- {-# SPECIALIZE instance Ord (Char#,Char#,Char#) #-}
+-- {-# SPECIALIZE instance Ix (Char#,Char#,Char#) #-}
+-- {-# SPECIALIZE instance Text (Char#,Char#,Char#) #-}
+
+-- {-# SPECIALIZE instance Eq (Int#,Int#,Int#) #-}
+-- {-# SPECIALIZE instance Ord (Int#,Int#,Int#) #-}
+-- {-# SPECIALIZE instance Ix (Int#,Int#,Int#) #-}
+-- {-# SPECIALIZE instance Text (Int#,Int#,Int#) #-}
+
+-- {-# SPECIALIZE instance Eq (Double#,Double#,Double#) #-}
+-- {-# SPECIALIZE instance Ord (Double#,Double#,Double#) #-}
+-- {-# SPECIALIZE instance Text (Double#,Double#,Double#) #-}
+
+#endif
diff --git a/ghc/lib/prelude/ITup3_mc.hi b/ghc/lib/prelude/ITup3_mc.hi
new file mode 100644
index 0000000000..2a3e9f8bcb
--- /dev/null
+++ b/ghc/lib/prelude/ITup3_mc.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup3_mg.hi b/ghc/lib/prelude/ITup3_mg.hi
new file mode 100644
index 0000000000..2a3e9f8bcb
--- /dev/null
+++ b/ghc/lib/prelude/ITup3_mg.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup3_mp.hi b/ghc/lib/prelude/ITup3_mp.hi
new file mode 100644
index 0000000000..2a3e9f8bcb
--- /dev/null
+++ b/ghc/lib/prelude/ITup3_mp.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup3_mr.hi b/ghc/lib/prelude/ITup3_mr.hi
new file mode 100644
index 0000000000..2a3e9f8bcb
--- /dev/null
+++ b/ghc/lib/prelude/ITup3_mr.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup3_mt.hi b/ghc/lib/prelude/ITup3_mt.hi
new file mode 100644
index 0000000000..2a3e9f8bcb
--- /dev/null
+++ b/ghc/lib/prelude/ITup3_mt.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup3_p.hi b/ghc/lib/prelude/ITup3_p.hi
new file mode 100644
index 0000000000..2a3e9f8bcb
--- /dev/null
+++ b/ghc/lib/prelude/ITup3_p.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup3_t.hi b/ghc/lib/prelude/ITup3_t.hi
new file mode 100644
index 0000000000..2a3e9f8bcb
--- /dev/null
+++ b/ghc/lib/prelude/ITup3_t.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup4.hi b/ghc/lib/prelude/ITup4.hi
new file mode 100644
index 0000000000..3e000ca5e7
--- /dev/null
+++ b/ghc/lib/prelude/ITup4.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup4.hs b/ghc/lib/prelude/ITup4.hs
new file mode 100644
index 0000000000..b58cdf7f23
--- /dev/null
+++ b/ghc/lib/prelude/ITup4.hs
@@ -0,0 +1,100 @@
+module PreludeBuiltin where
+
+--- 4-tuples ------------------------------------------
+
+import Cls
+import Core
+import IChar
+import IInt
+import IList
+import List ( (++), foldr )
+import Prel ( (&&), (.) )
+import PS ( _PackedString, _unpackPS )
+import Text
+
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a,b,c,d) where
+ (a1,a2,a3,a4) == (b1,b2,b3,b4) = a1 == b1 && a2 == b2 && a3 == b3 && a4 == b4
+ aaaa /= bbbb = if (aaaa == bbbb) then False else True
+
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a,b,c,d) where
+ a < b = case _tagCmp a b of { _LT -> True; _EQ -> False; _GT -> False }
+ a <= b = case _tagCmp a b of { _LT -> True; _EQ -> True; _GT -> False }
+ a >= b = case _tagCmp a b of { _LT -> False; _EQ -> True; _GT -> True }
+ a > b = case _tagCmp a b of { _LT -> False; _EQ -> False; _GT -> True }
+
+ max a b = case _tagCmp a b of { _LT -> b; _EQ -> a; _GT -> a }
+ min a b = case _tagCmp a b of { _LT -> a; _EQ -> a; _GT -> b }
+
+ _tagCmp (a1, b1, c1, d1) (a2, b2, c2, d2)
+ = case (_tagCmp a1 a2) of {
+ _LT -> _LT;
+ _GT -> _GT;
+ _EQ -> case _tagCmp b1 b2 of {
+ _LT -> _LT;
+ _GT -> _GT;
+ _EQ -> case _tagCmp c1 c2 of {
+ _LT -> _LT;
+ _GT -> _GT;
+ _EQ -> _tagCmp d1 d2
+ }
+ }
+ }
+
+instance (Ix a1, Ix a2, Ix a3, Ix a4) => Ix (a1,a2,a3,a4) where
+ range ((l1,l2,l3,l4),(u1,u2,u3,u4)) =
+ [(i1,i2,i3,i4) | i1 <- range (l1,u1),
+ i2 <- range (l2,u2),
+ i3 <- range (l3,u3),
+ i4 <- range (l4,u4)]
+
+ index ((l1,l2,l3,l4),(u1,u2,u3,u4)) (i1,i2,i3,i4) =
+ index (l4,u4) i4 + rangeSize (l4,u4) * (
+ index (l3,u3) i3 + rangeSize (l3,u3) * (
+ index (l2,u2) i2 + rangeSize (l2,u2) * (
+ index (l1,u1) i1)))
+ where
+ rangeSize (l,u) = index (l,u) u + (1 :: Int)
+
+ inRange ((l1,l2,l3,l4),(u1,u2,u3,u4)) (i1,i2,i3,i4) =
+ inRange (l1,u1) i1 && inRange (l2,u2) i2 &&
+ inRange (l3,u3) i3 && inRange (l4,u4) i4
+
+-- ToDo: something for Binary
+
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d) where
+ readsPrec p = readParen False
+ (\a -> [((w,x,y,z), j) | ("(",b) <- lex a,
+ (w,c) <- reads b,
+ (",",d) <- lex c,
+ (x,e) <- reads d,
+ (",",f) <- lex e,
+ (y,g) <- reads f,
+ (",",h) <- lex g,
+ (z,i) <- reads h,
+ (")",j) <- lex i ] )
+
+ showsPrec p (w,x,y,z) = showChar '(' . shows w . showString ", " .
+ shows x . showString ", " .
+ shows y . showString ", " .
+ shows z . showChar ')'
+
+#if defined(__UNBOXED_INSTANCES__)
+
+-- We only create SPECIALIZED instances unboxed tuples
+-- which have all the same unboxed component
+
+-- {-# SPECIALIZE instance Eq (Char#,Char#,Char#,Char#) #-}
+-- {-# SPECIALIZE instance Ord (Char#,Char#,Char#,Char#) #-}
+-- {-# SPECIALIZE instance Ix (Char#,Char#,Char#,Char#) #-}
+-- {-# SPECIALIZE instance Text (Char#,Char#,Char#,Char#) #-}
+
+-- {-# SPECIALIZE instance Eq (Int#,Int#,Int#,Int#) #-}
+-- {-# SPECIALIZE instance Ord (Int#,Int#,Int#,Int#) #-}
+-- {-# SPECIALIZE instance Ix (Int#,Int#,Int#,Int#) #-}
+-- {-# SPECIALIZE instance Text (Int#,Int#,Int#,Int#) #-}
+
+-- {-# SPECIALIZE instance Eq (Double#,Double#,Double#,Double#) #-}
+-- {-# SPECIALIZE instance Ord (Double#,Double#,Double#,Double#) #-}
+-- {-# SPECIALIZE instance Text (Double#,Double#,Double#,Double#) #-}
+
+#endif
diff --git a/ghc/lib/prelude/ITup4_mc.hi b/ghc/lib/prelude/ITup4_mc.hi
new file mode 100644
index 0000000000..3e000ca5e7
--- /dev/null
+++ b/ghc/lib/prelude/ITup4_mc.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup4_mg.hi b/ghc/lib/prelude/ITup4_mg.hi
new file mode 100644
index 0000000000..3e000ca5e7
--- /dev/null
+++ b/ghc/lib/prelude/ITup4_mg.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup4_mp.hi b/ghc/lib/prelude/ITup4_mp.hi
new file mode 100644
index 0000000000..3e000ca5e7
--- /dev/null
+++ b/ghc/lib/prelude/ITup4_mp.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup4_mr.hi b/ghc/lib/prelude/ITup4_mr.hi
new file mode 100644
index 0000000000..3e000ca5e7
--- /dev/null
+++ b/ghc/lib/prelude/ITup4_mr.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup4_mt.hi b/ghc/lib/prelude/ITup4_mt.hi
new file mode 100644
index 0000000000..3e000ca5e7
--- /dev/null
+++ b/ghc/lib/prelude/ITup4_mt.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup4_p.hi b/ghc/lib/prelude/ITup4_p.hi
new file mode 100644
index 0000000000..3e000ca5e7
--- /dev/null
+++ b/ghc/lib/prelude/ITup4_p.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup4_t.hi b/ghc/lib/prelude/ITup4_t.hi
new file mode 100644
index 0000000000..3e000ca5e7
--- /dev/null
+++ b/ghc/lib/prelude/ITup4_t.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup5.hi b/ghc/lib/prelude/ITup5.hi
new file mode 100644
index 0000000000..7e0af2a821
--- /dev/null
+++ b/ghc/lib/prelude/ITup5.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup5.hs b/ghc/lib/prelude/ITup5.hs
new file mode 100644
index 0000000000..223e297f83
--- /dev/null
+++ b/ghc/lib/prelude/ITup5.hs
@@ -0,0 +1,109 @@
+module PreludeBuiltin where
+
+--- 5-tuples ------------------------------------------
+
+import Cls
+import Core
+import IChar
+import IInt
+import IList
+import List ( (++), foldr )
+import Prel ( (&&), (.) )
+import PS ( _PackedString, _unpackPS )
+import Text
+
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a,b,c,d,e) where
+ (a1,a2,a3,a4,a5) == (b1,b2,b3,b4,b5) = a1 == b1 && a2 == b2 && a3 == b3 && a4 == b4 && a5 == b5
+ aaaaa /= bbbbb = if (aaaaa == bbbbb) then False else True
+
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a,b,c,d,e) where
+ a < b = case _tagCmp a b of { _LT -> True; _EQ -> False; _GT -> False }
+ a <= b = case _tagCmp a b of { _LT -> True; _EQ -> True; _GT -> False }
+ a >= b = case _tagCmp a b of { _LT -> False; _EQ -> True; _GT -> True }
+ a > b = case _tagCmp a b of { _LT -> False; _EQ -> False; _GT -> True }
+
+ max a b = case _tagCmp a b of { _LT -> b; _EQ -> a; _GT -> a }
+ min a b = case _tagCmp a b of { _LT -> a; _EQ -> a; _GT -> b }
+
+ _tagCmp (a1, b1, c1, d1, e1) (a2, b2, c2, d2, e2)
+ = case (_tagCmp a1 a2) of {
+ _LT -> _LT;
+ _GT -> _GT;
+ _EQ -> case _tagCmp b1 b2 of {
+ _LT -> _LT;
+ _GT -> _GT;
+ _EQ -> case _tagCmp c1 c2 of {
+ _LT -> _LT;
+ _GT -> _GT;
+ _EQ -> case _tagCmp d1 d2 of {
+ _LT -> _LT;
+ _GT -> _GT;
+ _EQ -> _tagCmp e1 e2
+ }
+ }
+ }
+ }
+
+instance (Ix a1, Ix a2, Ix a3, Ix a4, Ix a5) => Ix (a1,a2,a3,a4,a5) where
+ range ((l1,l2,l3,l4,l5),(u1,u2,u3,u4,u5)) =
+ [(i1,i2,i3,i4,i5) | i1 <- range (l1,u1),
+ i2 <- range (l2,u2),
+ i3 <- range (l3,u3),
+ i4 <- range (l4,u4),
+ i5 <- range (l5,u5)]
+
+ index ((l1,l2,l3,l4,l5),(u1,u2,u3,u4,u5)) (i1,i2,i3,i4,i5) =
+ index (l5,u5) i5 + rangeSize (l5,u5) * (
+ index (l4,u4) i4 + rangeSize (l4,u4) * (
+ index (l3,u3) i3 + rangeSize (l3,u3) * (
+ index (l2,u2) i2 + rangeSize (l2,u2) * (
+ index (l1,u1) i1))))
+ where
+ rangeSize (l,u) = index (l,u) u + (1 :: Int)
+
+ inRange ((l1,l2,l3,l4,l5),(u1,u2,u3,u4,u5)) (i1,i2,i3,i4,i5) =
+ inRange (l1,u1) i1 && inRange (l2,u2) i2 &&
+ inRange (l3,u3) i3 && inRange (l4,u4) i4 && inRange (l5,u5) i5
+
+-- ToDo: something for Binary
+
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e) where
+ readsPrec p = readParen False
+ (\a -> [((w,x,y,z,v), l) | ("(",b) <- lex a,
+ (w,c) <- reads b,
+ (",",d) <- lex c,
+ (x,e) <- reads d,
+ (",",f) <- lex e,
+ (y,g) <- reads f,
+ (",",h) <- lex g,
+ (z,i) <- reads h,
+ (",",j) <- lex i,
+ (v,k) <- reads j,
+ (")",l) <- lex k ] )
+
+ showsPrec p (v,w,x,y,z) = showChar '(' . shows v . showString ", " .
+ shows w . showString ", " .
+ shows x . showString ", " .
+ shows y . showString ", " .
+ shows z . showChar ')'
+
+#if defined(__UNBOXED_INSTANCES__)
+
+-- We only create SPECIALIZED instances unboxed tuples
+-- which have all the same unboxed component
+
+-- {-# SPECIALIZE instance Eq (Char#,Char#,Char#,Char#,Char#) #-}
+-- {-# SPECIALIZE instance Ord (Char#,Char#,Char#,Char#,Char#) #-}
+-- {-# SPECIALIZE instance Ix (Char#,Char#,Char#,Char#,Char#) #-}
+-- {-# SPECIALIZE instance Text (Char#,Char#,Char#,Char#,Char#) #-}
+
+-- {-# SPECIALIZE instance Eq (Int#,Int#,Int#,Int#,Int#) #-}
+-- {-# SPECIALIZE instance Ord (Int#,Int#,Int#,Int#,Int#) #-}
+-- {-# SPECIALIZE instance Ix (Int#,Int#,Int#,Int#,Int#) #-}
+-- {-# SPECIALIZE instance Text (Int#,Int#,Int#,Int#,Int#) #-}
+
+-- {-# SPECIALIZE instance Eq (Double#,Double#,Double#,Double#,Double#) #-}
+-- {-# SPECIALIZE instance Ord (Double#,Double#,Double#,Double#,Double#) #-}
+-- {-# SPECIALIZE instance Text (Double#,Double#,Double#,Double#,Double#) #-}
+
+#endif
diff --git a/ghc/lib/prelude/ITup5_mc.hi b/ghc/lib/prelude/ITup5_mc.hi
new file mode 100644
index 0000000000..7e0af2a821
--- /dev/null
+++ b/ghc/lib/prelude/ITup5_mc.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup5_mg.hi b/ghc/lib/prelude/ITup5_mg.hi
new file mode 100644
index 0000000000..7e0af2a821
--- /dev/null
+++ b/ghc/lib/prelude/ITup5_mg.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup5_mp.hi b/ghc/lib/prelude/ITup5_mp.hi
new file mode 100644
index 0000000000..7e0af2a821
--- /dev/null
+++ b/ghc/lib/prelude/ITup5_mp.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup5_mr.hi b/ghc/lib/prelude/ITup5_mr.hi
new file mode 100644
index 0000000000..7e0af2a821
--- /dev/null
+++ b/ghc/lib/prelude/ITup5_mr.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup5_mt.hi b/ghc/lib/prelude/ITup5_mt.hi
new file mode 100644
index 0000000000..7e0af2a821
--- /dev/null
+++ b/ghc/lib/prelude/ITup5_mt.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup5_p.hi b/ghc/lib/prelude/ITup5_p.hi
new file mode 100644
index 0000000000..7e0af2a821
--- /dev/null
+++ b/ghc/lib/prelude/ITup5_p.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/ITup5_t.hi b/ghc/lib/prelude/ITup5_t.hi
new file mode 100644
index 0000000000..7e0af2a821
--- /dev/null
+++ b/ghc/lib/prelude/ITup5_t.hi
@@ -0,0 +1,12 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeBuiltin where
+import PreludeCore(Eq(..), Ix(..), Ord(..), Text(..))
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/List.hi b/ghc/lib/prelude/List.hi
new file mode 100644
index 0000000000..d478f1dd2d
--- /dev/null
+++ b/ghc/lib/prelude/List.hi
@@ -0,0 +1,139 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeList where
+import PreludeBuiltin(Char(..), Int(..), List(..), Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7)
+import PreludeCore(Bool(..), Eq(..), Integral(..), Num(..), Ord(..))
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/List.hs b/ghc/lib/prelude/List.hs
new file mode 100644
index 0000000000..6059ee8b70
--- /dev/null
+++ b/ghc/lib/prelude/List.hs
@@ -0,0 +1,799 @@
+module PreludeList (
+ (!!), (++), (\\), all, and, any, break, concat, cycle, drop,
+ dropWhile, elem, filter, foldl, foldl1, foldr, foldr1, genericLength,
+ head, init, iterate, last, length, lines, map, maximum,
+ minimum, notElem, nub, null, or, partition, product, products,
+ repeat, reverse, scanl, scanl1, scanr, scanr1, span, splitAt,
+ sum, sums, tail, take, takeWhile, transpose, unlines, unwords,
+ unzip, unzip3, unzip4, unzip5, unzip6, unzip7, words, zip,
+ zip3, zip4, zip5, zip6, zip7, zipWith, zipWith3, zipWith4,
+ zipWith5, zipWith6, zipWith7,
+
+ _build
+ ) where
+
+import Cls
+import Core
+import IChar -- instances
+import IComplex
+import IDouble
+import IFloat
+import IInt
+import IInteger
+import IList
+import Prel ( otherwise, isSpace, (&&), (||), atan2, (.), flip, (^) )
+import PS ( _PackedString, _unpackPS )
+import Text
+import TyComplex
+
+--infixl 9 !!
+--infix 5 \\
+--infixr 5 ++
+--infix 4 `elem`, `notElem`
+
+-- head and tail extract the first element and remaining elements,
+-- respectively, of a list, which must be non-empty. last and init
+-- are the dual functions working from the end of a finite list,
+-- rather than the beginning.
+
+--{-# GENERATE_SPECS head a #-}
+head :: [a] -> a
+#ifndef USE_FOLDR_BUILD
+head (x:_) = x
+head [] = error "head{PreludeList}: head []\n"
+#else
+{-# INLINE head #-}
+head = foldr (\ x _ -> x)
+ (error "head{PreludeList}: head []\n")
+#endif
+
+--{-# GENERATE_SPECS last a #-}
+last :: [a] -> a
+last [] = error "last{PreludeList}: last []\n"
+last [x] = x
+last (_:xs) = last xs
+
+--{-# GENERATE_SPECS tail a #-}
+tail :: [a] -> [a]
+tail (_:xs) = xs
+tail [] = error "tail{PreludeList}: tail []\n"
+
+--{-# GENERATE_SPECS init a #-}
+init :: [a] -> [a]
+init [] = error "init{PreludeList}: init []\n"
+init [x] = []
+init (x:xs) = x : init xs
+
+-- null determines if a list is empty.
+--{-# GENERATE_SPECS null a #-}
+null :: [a] -> Bool
+#ifndef USE_FOLDR_BUILD
+null [] = True
+null (_:_) = False
+#else
+{-# INLINE null #-}
+null x = foldr (\ _ _ -> False) True x
+#endif
+
+-- list concatenation (right-associative)
+--{-# GENERATE_SPECS (++) a #-}
+(++) :: [a] -> [a] -> [a]
+
+#ifdef USE_REPORT_PRELUDE
+xs ++ ys = foldr (:) ys xs
+#else
+# ifndef USE_FOLDR_BUILD
+[] ++ ys = ys
+(x:xs) ++ ys = x : (xs ++ ys)
+# else
+--#ANDY?#{-# INLINE (++) #-}
+xs ++ ys = foldr (:) ys xs
+# endif /* USE_FOLDR_BUILD */
+#endif /* ! USE_REPORT_PRELUDE */
+
+-- list difference (non-associative). In the result of xs \\ ys,
+-- the first occurrence of each element of ys in turn (if any)
+-- has been removed from xs. Thus, (xs ++ ys) \\ xs == ys.
+--{-# GENERATE_SPECS (\\) a{+,Int} #-}
+(\\) :: (Eq a) => [a] -> [a] -> [a]
+(\\) xs ys = foldl del xs ys
+ where [] `del` _ = []
+ (x:xs) `del` y
+ | x == y = xs
+ | otherwise = x : xs `del` y
+
+-- length returns the length of a finite list as an Int; it is an instance
+-- of the more general genericLength, the result type of which may be
+-- any kind of number.
+
+--{-# GENERATE_SPECS genericLength a{~,Int#,Double#,Int} b #-}
+genericLength :: (Num a) => [b] -> a
+genericLength xs = foldl (\n _ -> n+1) 0 xs
+
+--{-# GENERATE_SPECS length a #-}
+length :: [a] -> Int
+#ifdef USE_REPORT_PRELUDE
+length = genericLength
+#else
+#if 1
+--#ANDY?## ifndef USE_FOLDR_BUILD
+-- stolen from HBC, then unboxified
+length l = len l 0#
+ where
+ len :: [a] -> Int# -> Int
+ len [] a# = I# a#
+ len (_:xs) a# = len xs (a# +# 1#)
+# else
+--#ANDY?#{-# INLINE length #-}
+length l = foldl (\ n _ -> n+I# 1#) (I# 0#) l
+# endif /* USE_FOLDR_BUILD */
+#endif /* ! USE_REPORT_PRELUDE */
+
+-- List index (subscript) operator, 0-origin
+
+{-# SPECIALIZE (!!) :: [b] -> Int -> b, [b] -> Integer -> b #-}
+--{-# GENERATE_SPECS (!!) a{~,Int#,Int,Integer} b #-}
+(!!) :: (Integral a) => [b] -> a -> b
+#ifdef USE_REPORT_PRELUDE
+(x:_) !! 0 = x
+(_:xs) !! (n+1) = xs !! n
+(_:_) !! _ = error "(!!){PreludeList}: negative index"
+[] !! (m+1) = error "(!!){PreludeList}: index too large"
+#else
+-- HBC version (stolen), then unboxified
+-- The semantics is not quite the same for error conditions
+-- in the more efficient version.
+-- (Not to mention if "n" won't fit in an Int :-)
+
+_ !! n | n < 0 = error "(!!){PreludeList}: negative index\n"
+xs !! n = sub xs (case (toInt n) of { I# n# -> n# })
+ where sub :: [a] -> Int# -> a
+ sub [] _ = error "(!!){PreludeList}: index too large\n"
+ sub (x:xs) n# = if n# ==# 0#
+ then x
+ else sub xs (n# `minusInt#` 1#)
+#endif /* ! USE_REPORT_PRELUDE */
+
+-- map f xs applies f to each element of xs; i.e., map f xs == [f x | x <- xs].
+--{-# GENERATE_SPECS map a b #-}
+map :: (a -> b) -> [a] -> [b]
+#ifndef USE_FOLDR_BUILD
+map f [] = []
+map f (x:xs) = f x : map f xs
+#else
+{-# INLINE map #-}
+map f xs = _build (\ c n -> foldr (c.f) n xs)
+#endif /* USE_FOLDR_BUILD */
+
+-- filter, applied to a predicate and a list, returns the list of those
+-- elements that satisfy the predicate; i.e.,
+-- filter p xs == [x | x <- xs, p x].
+--{-# GENERATE_SPECS filter a #-}
+filter :: (a -> Bool) -> [a] -> [a]
+#ifdef USE_REPORT_PRELUDE
+filter p = foldr (\x xs -> if p x then x:xs else xs) []
+#else
+# ifndef USE_FOLDR_BUILD
+-- stolen from HBC
+filter p [] = []
+filter p (x:xs) = if p x then x:filter p xs else filter p xs
+# else
+{-# INLINE filter #-}
+filter f xs = _build (\ c n -> foldr (\ a b -> if f a then c a b else b) n xs)
+# endif /* USE_FOLDR_BUILD */
+#endif /* ! USE_REPORT_PRELUDE */
+
+-- partition takes a predicate and a list and returns a pair of lists:
+-- those elements of the argument list that do and do not satisfy the
+-- predicate, respectively; i.e.,
+-- partition p xs == (filter p xs, filter (not . p) xs).
+#ifdef USE_FOLDR_BUILD
+{-# INLINE partition #-}
+#endif
+--{-# GENERATE_SPECS partition a #-}
+partition :: (a -> Bool) -> [a] -> ([a],[a])
+partition p xs = foldr select ([],[]) xs
+ where select x (ts,fs) | p x = (x:ts,fs)
+ | otherwise = (ts,x:fs)
+
+-- foldl, applied to a binary operator, a starting value (typically the
+-- left-identity of the operator), and a list, reduces the list using
+-- the binary operator, from left to right:
+-- foldl f z [x1, x2, ..., xn] == (...((z `f` x1) `f` x2) `f`...) `f` xn
+-- foldl1 is a variant that has no starting value argument, and thus must
+-- be applied to non-empty lists. scanl is similar to foldl, but returns
+-- a list of successive reduced values from the left:
+-- scanl f z [x1, x2, ...] == [z, z `f` x1, (z `f` x1) `f` x2, ...]
+-- Note that last (scanl f z xs) == foldl f z xs.
+-- scanl1 is similar, again without the starting element:
+-- scanl1 f [x1, x2, ...] == [x1, x1 `f` x2, ...]
+
+--{-# GENERATE_SPECS foldl1 a #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+foldl1 f (x:xs) = foldl f x xs
+foldl1 _ [] = error "foldl1{PreludeList}: empty list\n"
+
+--{-# GENERATE_SPECS scanl a b#-}
+scanl :: (a -> b -> a) -> a -> [b] -> [a]
+scanl f q xs = q : (case xs of
+ [] -> []
+ x:xs -> scanl f (f q x) xs)
+
+--{-# GENERATE_SPECS scanl1 a #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+scanl1 f (x:xs) = scanl f x xs
+scanl1 _ [] = error "scanl1{PreludeList}: empty list\n"
+
+-- foldr, foldr1, scanr, and scanr1 are the right-to-left duals of the
+-- above functions.
+
+--{-# GENERATE_SPECS foldr1 a #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+foldr1 f [x] = x
+foldr1 f (x:xs) = f x (foldr1 f xs)
+foldr1 _ [] = error "foldr1{PreludeList}: empty list\n"
+
+--{-# GENERATE_SPECS scanr a b #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+scanr f q0 [] = [q0]
+scanr f q0 (x:xs) = f x q : qs
+ where qs@(q:_) = scanr f q0 xs
+
+--{-# GENERATE_SPECS scanr1 a #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+scanr1 f [x] = [x]
+scanr1 f (x:xs) = f x q : qs
+ where qs@(q:_) = scanr1 f xs
+scanr1 _ [] = error "scanr1{PreludeList}: empty list\n"
+
+-- iterate f x returns an infinite list of repeated applications of f to x:
+-- iterate f x == [x, f x, f (f x), ...]
+--{-# GENERATE_SPECS iterate a #-}
+iterate :: (a -> a) -> a -> [a]
+#ifndef USE_FOLDR_BUILD
+iterate f x = x : iterate f (f x)
+#else
+{-# INLINE iterate #-}
+iterate f x = _build (\ c n ->
+ let
+ _iterate f x = x `c` _iterate f (f x)
+ in
+ _iterate f x)
+#endif /* USE_FOLDR_BUILD */
+
+
+-- repeat x is an infinite list, with x the value of every element.
+--{-# GENERATE_SPECS repeat a #-}
+repeat :: a -> [a]
+#ifndef USE_FOLDR_BUILD
+repeat x = xs where xs = x:xs
+#else
+{-# INLINE repeat #-}
+repeat x = _build (\ c n ->
+ let
+ xs = x `c` xs
+ in
+ xs)
+#endif /* USE_FOLDR_BUILD */
+
+-- cycle ties a finite list into a circular one, or equivalently,
+-- the infinite repetition of the original list. It is the identity
+-- on infinite lists.
+
+--{-# GENERATE_SPECS cycle a #-}
+cycle :: [a] -> [a]
+#ifndef USE_FOLDR_BUILD
+cycle xs = xs' where xs' = xs ++ xs'
+#else
+{-# INLINE cycle #-}
+cycle xs = _build (\ c n ->
+ let
+ fx = foldr c fx xs
+ in
+ fx)
+#endif /* USE_FOLDR_BUILD */
+
+-- take n, applied to a list xs, returns the prefix of xs of length n,
+-- or xs itself if n > length xs. drop n xs returns the suffix of xs
+-- after the first n elements, or [] if n > length xs. splitAt n xs
+-- is equivalent to (take n xs, drop n xs).
+
+#ifdef USE_REPORT_PRELUDE
+
+take :: (Integral a) => a -> [b] -> [b]
+take 0 _ = []
+take _ [] = []
+take (n+1) (x:xs) = x : take n xs
+
+drop :: (Integral a) => a -> [b] -> [b]
+drop 0 xs = xs
+drop _ [] = []
+drop (n+1) (_:xs) = drop n xs
+
+splitAt :: (Integral a) => a -> [b] -> ([b],[b])
+splitAt 0 xs = ([],xs)
+splitAt _ [] = ([],[])
+splitAt (n+1) (x:xs) = (x:xs',xs'') where (xs',xs'') = splitAt n xs
+
+#else /* hack away */
+
+-- ToDo: massive Patrick hack not included yet
+
+take :: (Integral a) => a -> [b] -> [b]
+drop :: (Integral a) => a -> [b] -> [b]
+splitAt :: (Integral a) => a -> [b] -> ([b], [b])
+
+{-# SPECIALIZE take :: Int -> [b] -> [b], Integer -> [b] -> [b] #-}
+{-# SPECIALIZE drop :: Int -> [b] -> [b], Integer -> [b] -> [b] #-}
+{-# SPECIALIZE splitAt :: Int -> [b] -> ([b], [b]), Integer -> [b] -> ([b], [b]) #-}
+
+take n xs = takeInt (toInt n) xs
+
+takeInt :: Int -> [b] -> [b]
+takeInt (I# n#) xs
+ | n# <# 0# = error "take{PreludeList}: negative index"
+ | otherwise = takeInt# n# xs
+ where
+ takeInt# :: Int# -> [a] -> [a]
+ takeInt# 0# _ = []
+ takeInt# _ [] = []
+ takeInt# m# (x:xs) = x : takeInt# (m# `minusInt#` 1#) xs
+
+{- NEW, from Kevin Hammond (kh)
+ ToDo: needs the < 0 checking
+
+take n | n >= 0 =
+ if n <= fromIntegral maxInt then take' 0 else take'' n
+ where
+ take' :: Int -> [a] -> [a]
+ take' _ [] = []
+ take' m _ | m == n' = []
+ take' m (x:xs) = x : take' (m+1) xs
+
+ take'' :: (Integral a) => a -> [b] -> [b]
+ tale'' 0 - = []
+ take'' _ [] = []
+ take'' n (x:xs) = x : take'' (n-1) xs
+
+ n' = fromIntegral n
+
+-- Test
+-- main = print (head (take (123456789123456789::Integer) [1..]))
+-}
+
+-- ToDo: NEW drop and splitAt, too (WDP)
+
+drop n xs = dropInt (toInt n) xs
+
+dropInt :: Int -> [b] -> [b]
+dropInt (I# n#) xs
+ | n# <# 0# = error "drop{PreludeList}: negative index"
+ | otherwise = dropInt# n# xs
+ where
+ dropInt# :: Int# -> [a] -> [a]
+ dropInt# 0# xs = xs
+ dropInt# _ [] = []
+ dropInt# m# (_:xs) = dropInt# (m# `minusInt#` 1#) xs
+
+splitAt n xs | n >= 0 = splitAtInt (toInt n) xs
+
+splitAtInt :: Int -> [b] -> ([b], [b])
+splitAtInt (I# n#) xs
+ | n# <# 0# = error "splitAt{PreludeList}: negative index"
+ | otherwise = splitAtInt# n# xs
+ where
+ splitAtInt# :: Int# -> [a] -> ([a], [a])
+ splitAtInt# 0# xs = ([], xs)
+ splitAtInt# _ [] = ([], [])
+ splitAtInt# m# (x:xs) = (x:xs', xs'')
+ where
+ (xs', xs'') = splitAtInt# (m# `minusInt#` 1#) xs
+
+#endif {- ! USE_REPORT_PRELUDE -}
+
+-- takeWhile, applied to a predicate p and a list xs, returns the longest
+-- prefix (possibly empty) of xs of elements that satisfy p. dropWhile p xs
+-- returns the remaining suffix. Span p xs is equivalent to
+-- (takeWhile p xs, dropWhile p xs), while break p uses the negation of p.
+
+--{-# GENERATE_SPECS takeWhile a #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+#ifndef USE_FOLDR_BUILD
+takeWhile p [] = []
+takeWhile p (x:xs)
+ | p x = x : takeWhile p xs
+ | otherwise = []
+#else
+{-# INLINE takeWhile #-}
+takeWhile p xs = _build (\ c n ->
+ let
+ fn x r = if p x
+ then x `c` r
+ else n
+ in
+ foldr fn n xs)
+#endif /* USE_FOLDR_BUILD */
+
+--{-# GENERATE_SPECS dropWhile a #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+dropWhile p [] = []
+dropWhile p xs@(x:xs')
+ | p x = dropWhile p xs'
+ | otherwise = xs
+
+--{-# GENERATE_SPECS span a #-}
+span :: (a -> Bool) -> [a] -> ([a],[a])
+span p [] = ([],[])
+span p xs@(x:xs')
+ | p x = let (ys,zs) = span p xs' in (x:ys,zs)
+ | otherwise = ([],xs)
+
+--{-# GENERATE_SPECS break a #-}
+break :: (a -> Bool) -> [a] -> ([a],[a])
+#ifdef USE_REPORT_PRELUDE
+break p = span (not . p)
+#else
+-- HBC version (stolen)
+break p [] = ([],[])
+break p xs@(x:xs')
+ | p x = ([],xs)
+ | otherwise = let (ys,zs) = break p xs' in (x:ys,zs)
+#endif
+
+-- lines breaks a string up into a list of strings at newline characters.
+-- The resulting strings do not contain newlines. Similary, words
+-- breaks a string up into a list of words, which were delimited by
+-- white space. unlines and unwords are the inverse operations.
+-- unlines joins lines with terminating newlines, and unwords joins
+-- words with separating spaces.
+
+lines :: String -> [String]
+lines "" = []
+lines s = let (l, s') = break (== '\n') s
+ in l : case s' of
+ [] -> []
+ (_:s'') -> lines s''
+
+words :: String -> [String]
+words s = case dropWhile isSpace s of
+ "" -> []
+ s' -> w : words s''
+ where (w, s'') = break isSpace s'
+
+unlines :: [String] -> String
+#ifdef USE_REPORT_PRELUDE
+unlines = concat . map (++ "\n")
+#else
+# ifndef USE_FOLDR_BUILD
+-- HBC version (stolen)
+-- here's a more efficient version
+unlines [] = []
+unlines (l:ls) = l ++ '\n' : unlines ls
+# else
+{-# INLINE unlines #-}
+unlines xs = foldr (\ l r -> l ++ '\n' : r) [] xs
+-- OLD
+-- unlines = concat . map (++ "\n")
+# endif /* USE_FOLDR_BUILD */
+#endif /* ! USE_REPORT_PRELUDE */
+
+unwords :: [String] -> String
+#ifdef USE_REPORT_PRELUDE
+unwords [] = ""
+unwords ws = foldr1 (\w s -> w ++ ' ':s) ws
+#else
+-- HBC version (stolen)
+-- here's a more efficient version
+unwords [] = ""
+unwords [w] = w
+unwords (w:ws) = w ++ ' ' : unwords ws
+#endif /* ! USE_REPORT_PRELUDE */
+
+-- nub (meaning "essence") removes duplicate elements from its list argument.
+--{-# GENERATE_SPECS nub a{+,Int} #-}
+nub :: (Eq a) => [a] -> [a]
+#ifdef USE_REPORT_PRELUDE
+nub [] = []
+nub (x:xs) = x : nub (filter (/= x) xs)
+#else
+-- stolen from HBC
+nub l = nub' l []
+ where
+ nub' [] _ = []
+ nub' (x:xs) l = if x `elem` l then nub' xs l else x : nub' xs (x:l)
+#endif /* ! USE_REPORT_PRELUDE */
+
+-- reverse xs returns the elements of xs in reverse order. xs must be finite.
+--{-# GENERATE_SPECS reverse a #-}
+reverse :: [a] -> [a]
+#ifdef USE_REPORT_PRELUDE
+reverse = foldl (flip (:)) []
+#else
+# ifndef USE_FOLDR_BUILD
+reverse l = rev l []
+ where
+ rev [] a = a
+ rev (x:xs) a = rev xs (x:a)
+# else
+{-# INLINE reverse #-}
+reverse xs = _build (\ c n -> foldl (flip c) n xs)
+# endif /* USE_FOLDR_BUILD */
+#endif /* ! USE_REPORT_PRELUDE */
+
+-- and returns the conjunction of a Boolean list. For the result to be
+-- True, the list must be finite; False, however, results from a False
+-- value at a finite index of a finite or infinite list. or is the
+-- disjunctive dual of and.
+and, or :: [Bool] -> Bool
+#ifdef USE_REPORT_PRELUDE
+and = foldr (&&) True
+or = foldr (||) False
+#else
+# ifndef USE_FOLDR_BUILD
+and [] = True
+and (x:xs) = x && and xs
+or [] = False
+or (x:xs) = x || or xs
+# else
+{-# INLINE and #-}
+{-# INLINE or #-}
+and = foldr (&&) True
+or = foldr (||) False
+# endif /* USE_FOLDR_BUILD */
+#endif /* ! USE_REPORT_PRELUDE */
+
+-- Applied to a predicate and a list, any determines if any element
+-- of the list satisfies the predicate. Similarly, for all.
+--{-# GENERATE_SPECS any a #-}
+any :: (a -> Bool) -> [a] -> Bool
+--{-# GENERATE_SPECS all a #-}
+all :: (a -> Bool) -> [a] -> Bool
+#ifdef USE_REPORT_PRELUDE
+any p = or . map p
+all p = and . map p
+#else
+# ifndef USE_FOLDR_BUILD
+any p [] = False
+any p (x:xs) = p x || any p xs
+all p [] = True
+all p (x:xs) = p x && all p xs
+# else
+{-# INLINE any #-}
+{-# INLINE all #-}
+-- We expand these out, so as the non-deforested versions
+-- that use the f/b prelude can get a fair run for comparisons.
+any p xs = foldr (\ x r -> p x || r) False xs
+all p xs = foldr (\ x r -> p x && r) True xs
+# endif
+#endif /* ! USE_REPORT_PRELUDE */
+
+-- elem is the list membership predicate, usually written in infix form,
+-- e.g., x `elem` xs. notElem is the negation.
+--{-# GENERATE_SPECS elem a{+,Int,Char,String} #-}
+elem :: (Eq a) => a -> [a] -> Bool
+--{-# GENERATE_SPECS notElem a{+,Int,Char,String} #-}
+notElem :: (Eq a) => a -> [a] -> Bool
+
+{-# SPECIALIZE elem :: Int -> [Int] -> Bool, Char -> [Char] -> Bool, String -> [String] -> Bool #-}
+{-# SPECIALIZE notElem :: Int -> [Int] -> Bool, Char -> [Char] -> Bool, String -> [String] -> Bool #-}
+
+#ifdef USE_REPORT_PRELUDE
+elem = any . (==)
+notElem = all . (/=)
+#else
+
+# ifndef USE_FOLDR_BUILD
+elem _ [] = False
+elem x (y:ys) = x==y || elem x ys
+
+notElem x [] = True
+notElem x (y:ys)= x /= y && notElem x ys
+
+# else
+{-# INLINE elem #-}
+{-# INLINE notElem #-}
+-- We are prepared to lose the partial application to equality,
+-- ie (x ==), and replace it with (\ y -> x == y)
+elem x ys = any (\ y -> x == y) ys
+notElem x ys = all (\ y -> x /= y) ys
+# endif /* USE_FOLDR_BUILD */
+#endif /* ! USE_REPORT_PRELUDE */
+
+-- sum and product compute the sum or product of a finite list of numbers.
+{-# SPECIALIZE sum :: [Int] -> Int, [Integer] -> Integer, [Double] -> Double, [Complex Double] -> Complex Double #-}
+--{-# GENERATE_SPECS sum a{Int#,Double#,Int,Integer,Double} #-}
+sum :: (Num a) => [a] -> a
+{-# SPECIALIZE product :: [Int] -> Int, [Integer] -> Integer, [Double] -> Double #-}
+--{-# GENERATE_SPECS product a{Int#,Double#,Int,Integer,Double} #-}
+product :: (Num a) => [a] -> a
+
+#ifdef USE_REPORT_PRELUDE
+sum = foldl (+) 0
+product = foldl (*) 1
+#else
+
+# ifndef USE_FOLDR_BUILD
+sum l = sum' l 0
+ where
+ sum' [] a = a
+ sum' (x:xs) a = sum' xs (a+x)
+product l = prod l 1
+ where
+ prod [] a = a
+ prod (x:xs) a = prod xs (a*x)
+# else
+{-# INLINE sum #-}
+{-# INLINE product #-}
+sum xs = foldl (+) lit0 xs
+ where lit0 = 0
+product xs = foldl (*) lit1 xs
+ where lit1 = 1
+# endif
+#endif /* ! USE_REPORT_PRELUDE */
+
+-- sums and products give a list of running sums or products from
+-- a list of numbers. For example, sums [1,2,3] == [0,1,3,6].
+--{-# GENERATE_SPECS sums a{Int#,Double#,Int,Integer,Double} #-}
+sums :: (Num a) => [a] -> [a]
+sums xs = scanl (+) 0 xs
+--{-# GENERATE_SPECS products a{Int#,Double#,Int,Integer,Double} #-}
+products :: (Num a) => [a] -> [a]
+products xs = scanl (*) 1 xs
+
+-- maximum and minimum return the maximum or minimum value from a list,
+-- which must be non-empty, finite, and of an ordered type.
+--{-# GENERATE_SPECS maximum a{+,Int,Integer,Double} #-}
+maximum :: (Ord a) => [a] -> a
+--{-# GENERATE_SPECS minimum a{+,Int,Integer,Double} #-}
+minimum :: (Ord a) => [a] -> a
+#ifdef USE_REPORT_PRELUDE
+maximum = foldl1 max
+minimum = foldl1 min
+#else
+maximum [x] = x
+maximum (x:xs) = max x (maximum xs)
+minimum [x] = x
+minimum (x:xs) = min x (minimum xs)
+#endif /* ! USE_REPORT_PRELUDE */
+
+-- concat, applied to a list of lists, returns their flattened concatenation.
+--{-# GENERATE_SPECS concat a #-}
+concat :: [[a]] -> [a]
+#ifdef USE_REPORT_PRELUDE
+concat = foldr (++) []
+#else
+# ifndef USE_FOLDR_BUILD
+-- HBC version (stolen)
+concat [] = []
+concat ([]:xss) = concat xss -- for better stack behaiour!
+concat ([x]:xss) = x : concat xss -- this should help too ???
+concat (xs:xss) = xs ++ concat xss
+# else
+{-# INLINE concat #-}
+concat xs = _build (\ c n -> foldr (\ x y -> foldr c y x) n xs)
+# endif
+#endif /* ! USE_REPORT_PRELUDE */
+
+-- transpose, applied to a list of lists, returns that list with the
+-- "rows" and "columns" interchanged. The input need not be rectangular
+-- (a list of equal-length lists) to be completely transposable, but can
+-- be "triangular": Each successive component list must be not longer
+-- than the previous one; any elements outside of the "triangular"
+-- transposable region are lost. The input can be infinite in either
+-- dimension or both.
+--{-# GENERATE_SPECS transpose a #-}
+transpose :: [[a]] -> [[a]]
+transpose xs = foldr
+ (\xs xss -> zipWith (:) xs (xss ++ repeat []))
+ [] xs
+
+-- zip takes two lists and returns a list of corresponding pairs. If one
+-- input list is short, excess elements of the longer list are discarded.
+-- zip3 takes three lists and returns a list of triples, etc. Versions
+-- of zip producing up to septuplets are defined here.
+
+#ifdef USE_FOLDR_BUILD
+{-# INLINE zip #-}
+#endif
+--{-# GENERATE_SPECS zip a b #-}
+zip :: [a] -> [b] -> [(a,b)]
+zip as bs = zipWith (\a b -> (a,b)) as bs
+
+zip3 :: [a] -> [b] -> [c] -> [(a,b,c)]
+zip3 as bs cs = zipWith3 (\a b c -> (a,b,c)) as bs cs
+
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a,b,c,d)]
+zip4 as bs cs ds = zipWith4 (\a b c d -> (a,b,c,d)) as bs cs ds
+
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a,b,c,d,e)]
+zip5 as bs cs ds es = zipWith5 (\a b c d e -> (a,b,c,d,e)) as bs cs ds es
+
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ -> [(a,b,c,d,e,f)]
+zip6 as bs cs ds es fs = zipWith6 (\a b c d e f -> (a,b,c,d,e,f)) as bs cs ds es fs
+
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ -> [(a,b,c,d,e,f,g)]
+zip7 as bs cs ds es fs gs = zipWith7 (\a b c d e f g -> (a,b,c,d,e,f,g)) as bs cs ds es fs gs
+
+-- The zipWith family generalises the zip family by zipping with the
+-- function given as the first argument, instead of a tupling function.
+-- For example, zipWith (+) is applied to two lists to produce the list
+-- of corresponding sums.
+
+--{-# GENERATE_SPECS zipWith a b c #-}
+zipWith :: (a->b->c) -> [a]->[b]->[c]
+#ifndef USE_FOLDR_BUILD
+zipWith z (a:as) (b:bs) = z a b : zipWith z as bs
+zipWith _ _ _ = []
+#else
+{-# INLINE zipWith #-}
+zipWith z xs ys = _build (\ c n ->
+ let
+ h (a:as) (b:bs) = z a b `c` h as bs
+ h _ _ = n
+ in
+ h xs ys)
+#endif
+
+
+
+zipWith3 :: (a->b->c->d) -> [a]->[b]->[c]->[d]
+zipWith3 z (a:as) (b:bs) (c:cs)
+ = z a b c : zipWith3 z as bs cs
+zipWith3 _ _ _ _ = []
+
+zipWith4 :: (a->b->c->d->e) -> [a]->[b]->[c]->[d]->[e]
+zipWith4 z (a:as) (b:bs) (c:cs) (d:ds)
+ = z a b c d : zipWith4 z as bs cs ds
+zipWith4 _ _ _ _ _ = []
+
+zipWith5 :: (a->b->c->d->e->f)
+ -> [a]->[b]->[c]->[d]->[e]->[f]
+zipWith5 z (a:as) (b:bs) (c:cs) (d:ds) (e:es)
+ = z a b c d e : zipWith5 z as bs cs ds es
+zipWith5 _ _ _ _ _ _ = []
+
+zipWith6 :: (a->b->c->d->e->f->g)
+ -> [a]->[b]->[c]->[d]->[e]->[f]->[g]
+zipWith6 z (a:as) (b:bs) (c:cs) (d:ds) (e:es) (f:fs)
+ = z a b c d e f : zipWith6 z as bs cs ds es fs
+zipWith6 _ _ _ _ _ _ _ = []
+
+zipWith7 :: (a->b->c->d->e->f->g->h)
+ -> [a]->[b]->[c]->[d]->[e]->[f]->[g]->[h]
+zipWith7 z (a:as) (b:bs) (c:cs) (d:ds) (e:es) (f:fs) (g:gs)
+ = z a b c d e f g : zipWith7 z as bs cs ds es fs gs
+zipWith7 _ _ _ _ _ _ _ _ = []
+
+
+-- unzip transforms a list of pairs into a pair of lists. As with zip,
+-- a family of such functions up to septuplets is provided.
+
+--{-# GENERATE_SPECS unzip a b #-}
+unzip :: [(a,b)] -> ([a],[b])
+unzip xs = foldr (\(a,b) ~(as,bs) -> (a:as,b:bs)) ([],[]) xs
+
+unzip3 :: [(a,b,c)] -> ([a],[b],[c])
+unzip3 xs = foldr (\(a,b,c) ~(as,bs,cs) -> (a:as,b:bs,c:cs))
+ ([],[],[]) xs
+
+unzip4 :: [(a,b,c,d)] -> ([a],[b],[c],[d])
+unzip4 xs = foldr (\(a,b,c,d) ~(as,bs,cs,ds) ->
+ (a:as,b:bs,c:cs,d:ds))
+ ([],[],[],[]) xs
+
+unzip5 :: [(a,b,c,d,e)] -> ([a],[b],[c],[d],[e])
+unzip5 xs = foldr (\(a,b,c,d,e) ~(as,bs,cs,ds,es) ->
+ (a:as,b:bs,c:cs,d:ds,e:es))
+ ([],[],[],[],[]) xs
+
+unzip6 :: [(a,b,c,d,e,f)] -> ([a],[b],[c],[d],[e],[f])
+unzip6 xs = foldr (\(a,b,c,d,e,f) ~(as,bs,cs,ds,es,fs) ->
+ (a:as,b:bs,c:cs,d:ds,e:es,f:fs))
+ ([],[],[],[],[],[]) xs
+
+unzip7 :: [(a,b,c,d,e,f,g)] -> ([a],[b],[c],[d],[e],[f],[g])
+unzip7 xs = foldr (\(a,b,c,d,e,f,g) ~(as,bs,cs,ds,es,fs,gs) ->
+ (a:as,b:bs,c:cs,d:ds,e:es,f:fs,g:gs))
+ ([],[],[],[],[],[],[]) xs
diff --git a/ghc/lib/prelude/List_mc.hi b/ghc/lib/prelude/List_mc.hi
new file mode 100644
index 0000000000..d478f1dd2d
--- /dev/null
+++ b/ghc/lib/prelude/List_mc.hi
@@ -0,0 +1,139 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeList where
+import PreludeBuiltin(Char(..), Int(..), List(..), Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7)
+import PreludeCore(Bool(..), Eq(..), Integral(..), Num(..), Ord(..))
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/List_mg.hi b/ghc/lib/prelude/List_mg.hi
new file mode 100644
index 0000000000..d478f1dd2d
--- /dev/null
+++ b/ghc/lib/prelude/List_mg.hi
@@ -0,0 +1,139 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeList where
+import PreludeBuiltin(Char(..), Int(..), List(..), Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7)
+import PreludeCore(Bool(..), Eq(..), Integral(..), Num(..), Ord(..))
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/List_mp.hi b/ghc/lib/prelude/List_mp.hi
new file mode 100644
index 0000000000..d478f1dd2d
--- /dev/null
+++ b/ghc/lib/prelude/List_mp.hi
@@ -0,0 +1,139 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeList where
+import PreludeBuiltin(Char(..), Int(..), List(..), Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7)
+import PreludeCore(Bool(..), Eq(..), Integral(..), Num(..), Ord(..))
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/List_mr.hi b/ghc/lib/prelude/List_mr.hi
new file mode 100644
index 0000000000..d478f1dd2d
--- /dev/null
+++ b/ghc/lib/prelude/List_mr.hi
@@ -0,0 +1,139 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeList where
+import PreludeBuiltin(Char(..), Int(..), List(..), Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7)
+import PreludeCore(Bool(..), Eq(..), Integral(..), Num(..), Ord(..))
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/List_mt.hi b/ghc/lib/prelude/List_mt.hi
new file mode 100644
index 0000000000..d478f1dd2d
--- /dev/null
+++ b/ghc/lib/prelude/List_mt.hi
@@ -0,0 +1,139 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeList where
+import PreludeBuiltin(Char(..), Int(..), List(..), Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7)
+import PreludeCore(Bool(..), Eq(..), Integral(..), Num(..), Ord(..))
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/List_p.hi b/ghc/lib/prelude/List_p.hi
new file mode 100644
index 0000000000..d478f1dd2d
--- /dev/null
+++ b/ghc/lib/prelude/List_p.hi
@@ -0,0 +1,139 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeList where
+import PreludeBuiltin(Char(..), Int(..), List(..), Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7)
+import PreludeCore(Bool(..), Eq(..), Integral(..), Num(..), Ord(..))
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/List_t.hi b/ghc/lib/prelude/List_t.hi
new file mode 100644
index 0000000000..d478f1dd2d
--- /dev/null
+++ b/ghc/lib/prelude/List_t.hi
@@ -0,0 +1,139 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeList where
+import PreludeBuiltin(Char(..), Int(..), List(..), Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7)
+import PreludeCore(Bool(..), Eq(..), Integral(..), Num(..), Ord(..))
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Merge.hi b/ghc/lib/prelude/Merge.hi
new file mode 100644
index 0000000000..66f02681a3
--- /dev/null
+++ b/ghc/lib/prelude/Merge.hi
@@ -0,0 +1,9 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Merge where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+mergeIO :: [a] -> [a] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 001 _N_ _S_ "AAU(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+nmergeIO :: [[a]] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AU(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Merge.lhs b/ghc/lib/prelude/Merge.lhs
new file mode 100644
index 0000000000..be38c890c5
--- /dev/null
+++ b/ghc/lib/prelude/Merge.lhs
@@ -0,0 +1,117 @@
+%
+% (c) The GRASP/AQUA Project, Glasgow University, 1995
+%
+\section[Merge]{Mergeing streams}
+
+Avoiding the loss of ref. transparency by attaching the merge to the
+IO monad.
+
+\begin{code}
+module Merge
+
+ (
+ mergeIO, --:: [a] -> [a] -> IO [a]
+ nmergeIO --:: [[a]] -> IO [a]
+ ) where
+
+import Semaphore
+
+import PreludeGlaST
+import Concurrent ( forkIO )
+import PreludePrimIO ( newEmptyMVar, newMVar, putMVar,
+ readMVar, takeMVar, _MVar
+ )
+\end{code}
+
+\begin{code}
+
+max_buff_size = 1
+
+mergeIO :: [a] -> [a] -> IO [a]
+nmergeIO :: [[a]] -> IO [a]
+
+#ifndef __CONCURRENT_HASKELL__
+
+mergeIO _ _ = return []
+nmergeIO _ = return []
+
+#else
+
+mergeIO ls rs
+ = newEmptyMVar >>= \ tail_node ->
+ newMVar tail_node >>= \ tail_list ->
+ newQSem max_buff_size >>= \ e ->
+ newMVar 2 >>= \ branches_running ->
+ let
+ buff = (tail_list,e)
+ in
+ forkIO (suckIO branches_running buff ls) >>
+ forkIO (suckIO branches_running buff rs) >>
+ takeMVar tail_node >>= \ val ->
+ signalQSem e >>
+ return val
+
+type Buffer a
+ = (_MVar (_MVar [a]), QSem)
+
+suckIO :: _MVar Int -> Buffer a -> [a] -> IO ()
+
+suckIO branches_running buff@(tail_list,e) vs
+ = case vs of
+ [] -> takeMVar branches_running >>= \ val ->
+ if val == 1 then
+ takeMVar tail_list >>= \ node ->
+ putMVar node [] >>
+ putMVar tail_list node
+ else
+ putMVar branches_running (val-1)
+ (x:xs) ->
+ waitQSem e >>
+ takeMVar tail_list >>= \ node ->
+ newEmptyMVar >>= \ next_node ->
+ unsafeInterleavePrimIO (
+ takeMVar next_node `thenPrimIO` \ (Right x) ->
+ signalQSem e `seqPrimIO`
+ returnPrimIO x) `thenPrimIO` \ next_node_val ->
+ putMVar node (x:next_node_val) >>
+ putMVar tail_list next_node >>
+ suckIO branches_running buff xs
+
+nmergeIO lss
+ = let
+ len = length lss
+ in
+ newEmptyMVar >>= \ tail_node ->
+ newMVar tail_node >>= \ tail_list ->
+ newQSem max_buff_size >>= \ e ->
+ newMVar len >>= \ branches_running ->
+ let
+ buff = (tail_list,e)
+ in
+ mapIO (\ x -> forkIO (suckIO branches_running buff x)) lss >>
+ takeMVar tail_node >>= \ val ->
+ signalQSem e >>
+ return val
+ where
+ mapIO f xs = accumulate (map f xs)
+\end{code}
+
+So as to avoid creating a mutual recursive module dep. with @Concurrent.lhs@,
+the defn. of @forkIO@ is duplicated here:
+
+\begin{code}
+{- HAH! WDP 95/07
+
+forkIO :: PrimIO a -> PrimIO a
+forkIO action s
+ = let
+ (r, new_s) = action s
+ in
+ new_s `_fork_` (r, s)
+ where
+ _fork_ x y = case (fork# x) of { 0# -> parError#; _ -> y }
+-}
+
+#endif {- __CONCURRENT_HASKELL__ -}
+
+\end{code}
diff --git a/ghc/lib/prelude/Merge_mc.hi b/ghc/lib/prelude/Merge_mc.hi
new file mode 100644
index 0000000000..2a4326765f
--- /dev/null
+++ b/ghc/lib/prelude/Merge_mc.hi
@@ -0,0 +1,9 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Merge where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+mergeIO :: [a] -> [a] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+nmergeIO :: [[a]] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Merge_mg.hi b/ghc/lib/prelude/Merge_mg.hi
new file mode 100644
index 0000000000..66f02681a3
--- /dev/null
+++ b/ghc/lib/prelude/Merge_mg.hi
@@ -0,0 +1,9 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Merge where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+mergeIO :: [a] -> [a] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 001 _N_ _S_ "AAU(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+nmergeIO :: [[a]] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AU(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Merge_mp.hi b/ghc/lib/prelude/Merge_mp.hi
new file mode 100644
index 0000000000..66f02681a3
--- /dev/null
+++ b/ghc/lib/prelude/Merge_mp.hi
@@ -0,0 +1,9 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Merge where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+mergeIO :: [a] -> [a] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 001 _N_ _S_ "AAU(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+nmergeIO :: [[a]] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AU(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Merge_p.hi b/ghc/lib/prelude/Merge_p.hi
new file mode 100644
index 0000000000..66f02681a3
--- /dev/null
+++ b/ghc/lib/prelude/Merge_p.hi
@@ -0,0 +1,9 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Merge where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+mergeIO :: [a] -> [a] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 001 _N_ _S_ "AAU(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+nmergeIO :: [[a]] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AU(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Merge_t.hi b/ghc/lib/prelude/Merge_t.hi
new file mode 100644
index 0000000000..66f02681a3
--- /dev/null
+++ b/ghc/lib/prelude/Merge_t.hi
@@ -0,0 +1,9 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Merge where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+mergeIO :: [a] -> [a] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 001 _N_ _S_ "AAU(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+nmergeIO :: [[a]] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AU(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PS.hi b/ghc/lib/prelude/PS.hi
new file mode 100644
index 0000000000..b55f39259b
--- /dev/null
+++ b/ghc/lib/prelude/PS.hi
@@ -0,0 +1,104 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludePS where
+import PreludeArray(_ByteArray)
+import PreludeBuiltin(Char(..), Int(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import Stdio(_FILE)
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packBytesForC :: [Char] -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packBytesForCST :: [Char] -> _State a -> (_ByteArray Int, _State a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _S_ "S" _N_ _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCBytesST :: Int -> _Addr -> _State a -> (_PackedString, _State a)
+ {-# GHC_PRAGMA _A_ 2 _U_ 112 _N_ _S_ "U(P)U(P)" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packStringForC :: [Char] -> ByteArray#
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packStringST :: [Char] -> _State a -> (_PackedString, _State a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_unsafeByteArrayToPS :: _ByteArray a -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AP)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unpackPS# :: Addr# -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "P" _N_ _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PS.lhs b/ghc/lib/prelude/PS.lhs
new file mode 100644
index 0000000000..e5891b1075
--- /dev/null
+++ b/ghc/lib/prelude/PS.lhs
@@ -0,0 +1,681 @@
+%
+% (c) The GRASP/AQUA Project, Glasgow University, 1993-1994
+%
+\section[PrelPS]{Packed strings}
+
+This sits on top of the sequencing/arrays world, notably @ByteArray#@s.
+
+Glorious hacking (all the hard work) by Bryan O'Sullivan.
+
+\begin{code}
+module PreludePS{-yes, a Prelude module!-} (
+ _packString,
+ _packStringST,
+ _packCString,
+ _packCBytes,
+ _packCBytesST,
+ _packStringForC,
+ _packBytesForC,
+ _packBytesForCST,
+ _nilPS,
+ _consPS,
+--OLD: packString#,
+--OLD: packToCString,
+ _byteArrayToPS,
+ _unsafeByteArrayToPS,
+ _psToByteArray,
+
+ _unpackPS,
+ unpackPS#,
+-- toCString,
+ _putPS,
+
+ _headPS,
+ _tailPS,
+ _nullPS,
+ _appendPS,
+ _lengthPS,
+ _indexPS,
+ _mapPS,
+ _filterPS,
+ _foldlPS,
+ _foldrPS,
+ _takePS,
+ _dropPS,
+ _splitAtPS,
+ _takeWhilePS,
+ _dropWhilePS,
+ _spanPS,
+ _breakPS,
+ _linesPS,
+ _wordsPS,
+ _reversePS,
+ _concatPS,
+
+ _substrPS,
+--??? _hashPS,
+
+ -- to make interface self-sufficient
+ _PackedString, -- abstract!
+ _FILE
+ ) where
+
+import PreludeGlaST
+import Stdio ( _FILE )
+import TyArray ( _ByteArray(..) )
+
+import Cls
+import Core
+import IChar
+import IList
+import IInt
+import Prel ( otherwise, (&&), (||), chr, ($), not, (.), isSpace, flip )
+import List ( length, (++), map, filter, foldl, foldr,
+ lines, words, reverse, null, foldr1
+ )
+import TyArray ( Array(..) )
+import Text
+\end{code}
+
+%************************************************************************
+%* *
+\subsection{@_PackedString@ type declaration and interface (signatures)}
+%* *
+%************************************************************************
+
+The things we want:
+\begin{code}
+data _PackedString
+ = _PS ByteArray# -- the bytes
+ Int# -- length (*not* including NUL at the end)
+ Bool -- True <=> contains a NUL
+ | _CPS Addr# -- pointer to the (null-terminated) bytes in C land
+ Int# -- length, as per strlen
+ -- definitely doesn't contain a NUL
+
+_packString :: [Char] -> _PackedString
+_packStringST :: [Char] -> _ST s _PackedString
+_packCString :: _Addr -> _PackedString
+_packCBytes :: Int -> _Addr -> _PackedString
+_packCBytesST :: Int -> _Addr -> _ST s _PackedString
+_packStringForC :: [Char] -> ByteArray# -- calls injected by compiler
+_packBytesForC :: [Char] -> _ByteArray Int
+_packBytesForCST :: [Char] -> _ST s (_ByteArray Int)
+_nilPS :: _PackedString
+_consPS :: Char -> _PackedString -> _PackedString
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+_psToByteArray :: _PackedString -> _ByteArray Int
+
+--OLD: packString# :: [Char] -> ByteArray#
+--OLD: packToCString :: [Char] -> _ByteArray Int -- hmmm... weird name
+
+_unpackPS :: _PackedString -> [Char]
+unpackPS# :: Addr# -> [Char] -- calls injected by compiler
+--???toCString :: _PackedString -> ByteArray#
+_putPS :: _FILE -> _PackedString -> PrimIO () -- ToDo: more sensible type
+\end{code}
+
+\begin{code}
+_headPS :: _PackedString -> Char
+_tailPS :: _PackedString -> _PackedString
+_nullPS :: _PackedString -> Bool
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+_lengthPS :: _PackedString -> Int
+_indexPS :: _PackedString -> Int -> Char
+ -- 0-origin indexing into the string
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString {-or String?-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString {-or String?-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+_takePS :: Int -> _PackedString -> _PackedString
+_dropPS :: Int -> _PackedString -> _PackedString
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+_takeWhilePS:: (Char -> Bool) -> _PackedString -> _PackedString
+_dropWhilePS:: (Char -> Bool) -> _PackedString -> _PackedString
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+_linesPS :: _PackedString -> [_PackedString]
+_wordsPS :: _PackedString -> [_PackedString]
+_reversePS :: _PackedString -> _PackedString
+_concatPS :: [_PackedString] -> _PackedString
+
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ -- pluck out a piece of a _PS
+ -- start and end chars you want; both 0-origin-specified
+--??? _hashPS :: _PackedString -> Int -> Int
+ -- use the _PS to produce a hash value between 0 & m (inclusive)
+\end{code}
+
+%************************************************************************
+%* *
+\subsection{Constructor functions}
+%* *
+%************************************************************************
+
+Easy ones first. @_packString@ requires getting some heap-bytes and
+scribbling stuff into them.
+
+\begin{code}
+_packCString (A# a#) -- the easy one; we just believe the caller
+ = _CPS a# len
+ where
+ len = case (strlen# a#) of { I# x -> x }
+
+_nilPS = _CPS ""# 0#
+_consPS c cs = _packString (c : (_unpackPS cs)) -- ToDo:better
+
+_packStringForC str
+ = case (_packString str) of
+ _PS bytes _ _ -> bytes
+
+_packBytesForC str
+ = _psToByteArray (_packString str)
+
+_packBytesForCST str
+ = _packStringST str `thenStrictlyST` \ (_PS bytes n has_null) ->
+ --later? ASSERT(not has_null)
+ returnStrictlyST (_ByteArray (0, I# (n -# 1#)) bytes)
+
+_packString str = _runST (_packStringST str)
+
+_packStringST str
+ = let len = length str in
+ pack_me len str
+ where
+ pack_me :: Int -> [Char] -> _ST s _PackedString
+
+ pack_me len@(I# length#) str
+ = -- allocate an array that will hold the string
+ -- (not forgetting the NUL byte at the end)
+ new_ps_array (length# +# 1#) `thenStrictlyST` \ ch_array ->
+
+ -- fill in packed string from "str"
+ fill_in ch_array 0# str `seqStrictlyST`
+
+ -- freeze the puppy:
+ freeze_ps_array ch_array `thenStrictlyST` \ (_ByteArray _ frozen#) ->
+
+ let has_null = byteArrayHasNUL# frozen# length# in
+
+ returnStrictlyST (_PS frozen# length# has_null)
+ where
+ fill_in :: _MutableByteArray s Int -> Int# -> [Char] -> _ST s ()
+
+ fill_in arr_in# idx []
+ = write_ps_array arr_in# idx (chr# 0#) `seqStrictlyST`
+ returnStrictlyST ()
+
+ fill_in arr_in# idx (C# c : cs)
+ = write_ps_array arr_in# idx c `seqStrictlyST`
+ fill_in arr_in# (idx +# 1#) cs
+
+_packCBytes len addr = _runST (_packCBytesST len addr)
+
+_packCBytesST len@(I# length#) (A# addr)
+ = -- allocate an array that will hold the string
+ -- (not forgetting the NUL byte at the end)
+ new_ps_array (length# +# 1#) `thenStrictlyST` \ ch_array ->
+
+ -- fill in packed string from "addr"
+ fill_in ch_array 0# `seqStrictlyST`
+
+ -- freeze the puppy:
+ freeze_ps_array ch_array `thenStrictlyST` \ (_ByteArray _ frozen#) ->
+
+ let has_null = byteArrayHasNUL# frozen# length# in
+
+ returnStrictlyST (_PS frozen# length# has_null)
+ where
+ fill_in :: _MutableByteArray s Int -> Int# -> _ST s ()
+
+ fill_in arr_in# idx
+ | idx ==# length#
+ = write_ps_array arr_in# idx (chr# 0#) `seqStrictlyST`
+ returnStrictlyST ()
+ | otherwise
+ = case (indexCharOffAddr# addr idx) of { ch ->
+ write_ps_array arr_in# idx ch `seqStrictlyST`
+ fill_in arr_in# (idx +# 1#) }
+
+_byteArrayToPS (_ByteArray ixs@(_, ix_end) frozen#)
+ = let
+ n# = case (
+ if null (range ixs)
+ then 0
+ else ((index ixs ix_end) + 1)
+ ) of { I# x -> x }
+ in
+ _PS frozen# n# (byteArrayHasNUL# frozen# n#)
+
+_unsafeByteArrayToPS (_ByteArray _ frozen#) (I# n#)
+ = _PS frozen# n# (byteArrayHasNUL# frozen# n#)
+
+_psToByteArray (_PS bytes n has_null)
+ = _ByteArray (0, I# (n -# 1#)) bytes
+
+_psToByteArray (_CPS addr len#)
+ = let
+ len = I# len#
+ byte_array_form = _packCBytes len (A# addr)
+ in
+ case byte_array_form of { _PS bytes _ _ ->
+ _ByteArray (0, len - 1) bytes }
+\end{code}
+
+%************************************************************************
+%* *
+\subsection{Destructor functions (taking @_PackedStrings@ apart)}
+%* *
+%************************************************************************
+
+\begin{code}
+unpackPS# addr -- calls injected by compiler
+ = _unpackPS (_CPS addr len)
+ where
+ len = case (strlen# addr) of { I# x -> x }
+
+-- OK, but this code gets *hammered*:
+-- _unpackPS ps
+-- = [ _indexPS ps n | n <- [ 0::Int .. _lengthPS ps - 1 ] ]
+
+_unpackPS (_PS bytes len has_null)
+ = unpack 0#
+ where
+ unpack nh
+ | nh >=# len = []
+ | otherwise = C# ch : unpack (nh +# 1#)
+ where
+ ch = indexCharArray# bytes nh
+
+_unpackPS (_CPS addr len)
+ = unpack 0#
+ where
+ unpack nh
+ | ch `eqChar#` '\0'# = []
+ | otherwise = C# ch : unpack (nh +# 1#)
+ where
+ ch = indexCharOffAddr# addr nh
+\end{code}
+
+\begin{code}
+_putPS file ps@(_PS bytes len has_null)
+ | len ==# 0#
+ = returnPrimIO ()
+ | otherwise
+ = let
+ byte_array = _ByteArray (0, I# (len -# 1#)) bytes
+ in
+ _ccall_ fwrite byte_array (1::Int){-size-} (I# len) file
+ `thenPrimIO` \ (I# written) ->
+ if written ==# len then
+ returnPrimIO ()
+ else
+ error "_putPS: fwrite failed!\n"
+
+_putPS file (_CPS addr len)
+ | len ==# 0#
+ = returnPrimIO ()
+ | otherwise
+ = _ccall_ fputs (A# addr) file `thenPrimIO` \ (I# _){-force type-} ->
+ returnPrimIO ()
+\end{code}
+
+%************************************************************************
+%* *
+\subsection{List-mimicking functions for @_PackedStrings@}
+%* *
+%************************************************************************
+
+First, the basic functions that do look into the representation;
+@indexPS@ is the most important one.
+\begin{code}
+_lengthPS ps = I# (lengthPS# ps)
+
+{-# INLINE lengthPS# #-}
+
+lengthPS# (_PS _ i _) = i
+lengthPS# (_CPS _ i) = i
+
+{-# INLINE strlen# #-}
+
+strlen# :: Addr# -> Int
+strlen# a
+ = unsafePerformPrimIO (
+ _ccall_ strlen (A# a) `thenPrimIO` \ len@(I# _) ->
+ returnPrimIO len
+ )
+
+byteArrayHasNUL# :: ByteArray# -> Int#{-length-} -> Bool
+
+byteArrayHasNUL# bs len
+ = unsafePerformPrimIO (
+ _ccall_ byteArrayHasNUL__ ba (I# len) `thenPrimIO` \ (I# res) ->
+ returnPrimIO (
+ if res ==# 0# then False else True
+ ))
+ where
+ ba = _ByteArray (0, I# (len -# 1#)) bs
+
+-----------------------
+_indexPS ps (I# n) = C# (indexPS# ps n)
+
+{-# INLINE indexPS# #-}
+
+indexPS# (_PS bs i _) n
+ = --ASSERT (n >=# 0# && n <# i) -- error checking: my eye! (WDP 94/10)
+ indexCharArray# bs n
+
+indexPS# (_CPS a _) n
+ = indexCharOffAddr# a n
+\end{code}
+
+Now, the rest of the functions can be defined without digging
+around in the representation.
+\begin{code}
+_headPS ps
+ | _nullPS ps = error "_headPS: head []"
+ | otherwise = C# (indexPS# ps 0#)
+
+_tailPS ps
+ | len <=# 0# = error "_tailPS: tail []"
+ | len ==# 1# = _nilPS
+ | otherwise = substrPS# ps 1# (len -# 1#)
+ where
+ len = lengthPS# ps
+
+_nullPS (_PS _ i _) = i ==# 0#
+_nullPS (_CPS _ i) = i ==# 0#
+
+-- ToDo: some non-lousy implementations...
+
+_appendPS xs ys
+ | _nullPS xs = ys
+ | _nullPS ys = xs
+ | otherwise = _packString (_unpackPS xs ++ _unpackPS ys)
+
+_mapPS f xs = _packString (map f (_unpackPS xs))
+
+_filterPS p ps = _packString (filter p (_unpackPS ps))
+_foldlPS f b ps = foldl f b (_unpackPS ps)
+_foldrPS f b ps = foldr f b (_unpackPS ps)
+
+_takePS (I# n) ps = substrPS# ps 0# (n -# 1#)
+_dropPS (I# n) ps = substrPS# ps n (lengthPS# ps -# 1#)
+_splitAtPS n ps = (_takePS n ps, _dropPS n ps)
+
+_takeWhilePS pred ps
+ = let
+ break_pt = char_pos_that_dissatisfies
+ (\ c -> pred (C# c))
+ ps
+ (lengthPS# ps)
+ 0#
+ in
+ substrPS# ps 0# (break_pt -# 1#)
+
+_dropWhilePS pred ps
+ = let
+ len = lengthPS# ps
+ break_pt = char_pos_that_dissatisfies
+ (\ c -> pred (C# c))
+ ps
+ len
+ 0#
+ in
+ substrPS# ps break_pt (len -# 1#)
+
+char_pos_that_dissatisfies :: (Char# -> Bool) -> _PackedString -> Int# -> Int# -> Int#
+
+char_pos_that_dissatisfies p ps len pos
+ | pos >=# len = pos -- end
+ | p (indexPS# ps pos) = -- predicate satisfied; keep going
+ char_pos_that_dissatisfies p ps len (pos +# 1#)
+ | otherwise = pos -- predicate not satisfied
+
+char_pos_that_dissatisfies p ps len pos -- dead code: HACK to avoid badly-typed error msg
+ = 0#
+
+-- ToDo: could certainly go quicker
+_spanPS p ps = (_takeWhilePS p ps, _dropWhilePS p ps)
+_breakPS p ps = _spanPS (not . p) ps
+
+_linesPS ps = map _packString (lines (_unpackPS ps))
+_wordsPS ps = map _packString (words (_unpackPS ps))
+
+_reversePS ps = _packString (reverse (_unpackPS ps))
+
+_concatPS [] = _nilPS
+_concatPS pss
+ = let
+ tot_len# = case (foldr ((+) . _lengthPS) 0 pss) of { I# x -> x }
+ tot_len = I# tot_len#
+ in
+ _runST (
+ new_ps_array (tot_len# +# 1#) `thenStrictlyST` \ arr# -> -- incl NUL byte!
+ packum arr# pss 0# `seqStrictlyST`
+ freeze_ps_array arr# `thenStrictlyST` \ (_ByteArray _ frozen#) ->
+
+ let has_null = byteArrayHasNUL# frozen# tot_len# in
+
+ returnStrictlyST (_PS frozen# tot_len# has_null)
+ )
+ where
+ packum :: _MutableByteArray s Int -> [_PackedString] -> Int# -> _ST s ()
+
+ packum arr [] pos
+ = write_ps_array arr pos (chr# 0#) `seqStrictlyST`
+ returnStrictlyST ()
+ packum arr (ps : pss) pos
+ = fill arr pos ps 0# (lengthPS# ps) `thenStrictlyST` \ (I# next_pos) ->
+ packum arr pss next_pos
+
+ fill :: _MutableByteArray s Int -> Int# -> _PackedString -> Int# -> Int# -> _ST s Int
+
+ fill arr arr_i ps ps_i ps_len
+ | ps_i ==# ps_len
+ = returnStrictlyST (I# (arr_i +# ps_len))
+ | otherwise
+ = write_ps_array arr (arr_i +# ps_i) (indexPS# ps ps_i) `seqStrictlyST`
+ fill arr arr_i ps (ps_i +# 1#) ps_len
+\end{code}
+
+%************************************************************************
+%* *
+\subsection{Instances for @_PackedStrings@: @Eq@, @Ord@, @Text@}
+%* *
+%************************************************************************
+
+Instances:
+\begin{code}
+instance Eq _PackedString where
+ a == b = case _tagCmpPS a b of { _LT -> False; _EQ -> True; _GT -> False }
+ a /= b = case _tagCmpPS a b of { _LT -> True; _EQ -> False; _GT -> True }
+
+instance Ord _PackedString where
+ a <= b = case _tagCmpPS a b of { _LT -> True; _EQ -> True; _GT -> False }
+ a < b = case _tagCmpPS a b of { _LT -> True; _EQ -> False; _GT -> False }
+ a >= b = case _tagCmpPS a b of { _LT -> False; _EQ -> True; _GT -> True }
+ a > b = case _tagCmpPS a b of { _LT -> False; _EQ -> False; _GT -> True }
+ _tagCmp a b = _tagCmpPS a b
+\end{code}
+
+We try hard to make this go fast:
+\begin{code}
+_tagCmpPS :: _PackedString -> _PackedString -> _CMP_TAG
+
+_tagCmpPS (_PS bs1 len1 has_null1) (_PS bs2 len2 has_null2)
+ | not has_null1 && not has_null2
+ = unsafePerformPrimIO (
+ _ccall_ strcmp ba1 ba2 `thenPrimIO` \ (I# res) ->
+ returnPrimIO (
+ if res <# 0# then _LT
+ else if res ==# 0# then _EQ
+ else _GT
+ ))
+ where
+ ba1 = _ByteArray (0, I# (len1 -# 1#)) bs1
+ ba2 = _ByteArray (0, I# (len2 -# 1#)) bs2
+
+_tagCmpPS (_PS bs1 len1 has_null1) (_CPS bs2 len2)
+ | not has_null1
+ = unsafePerformPrimIO (
+ _ccall_ strcmp ba1 ba2 `thenPrimIO` \ (I# res) ->
+ returnPrimIO (
+ if res <# 0# then _LT
+ else if res ==# 0# then _EQ
+ else _GT
+ ))
+ where
+ ba1 = _ByteArray (0, I# (len1 -# 1#)) bs1
+ ba2 = A# bs2
+
+_tagCmpPS (_CPS bs1 len1) (_CPS bs2 len2)
+ = unsafePerformPrimIO (
+ _ccall_ strcmp ba1 ba2 `thenPrimIO` \ (I# res) ->
+ returnPrimIO (
+ if res <# 0# then _LT
+ else if res ==# 0# then _EQ
+ else _GT
+ ))
+ where
+ ba1 = A# bs1
+ ba2 = A# bs2
+
+_tagCmpPS a@(_CPS _ _) b@(_PS _ _ has_null2)
+ | not has_null2
+ = -- try them the other way 'round
+ case (_tagCmpPS b a) of { _LT -> _GT; _EQ -> _EQ; _GT -> _LT }
+
+_tagCmpPS ps1 ps2 -- slow catch-all case (esp for "has_null" True)
+ = looking_at 0#
+ where
+ end1 = lengthPS# ps1 -# 1#
+ end2 = lengthPS# ps2 -# 1#
+
+ looking_at char#
+ = if char# ># end1 then
+ if char# ># end2 then -- both strings ran out at once
+ _EQ
+ else -- ps1 ran out before ps2
+ _LT
+ else if char# ># end2 then
+ _GT -- ps2 ran out before ps1
+ else
+ let
+ ch1 = indexPS# ps1 char#
+ ch2 = indexPS# ps2 char#
+ in
+ if ch1 `eqChar#` ch2 then
+ looking_at (char# +# 1#)
+ else if ch1 `ltChar#` ch2 then _LT
+ else _GT
+
+instance Text _PackedString where
+ readsPrec p = error "readsPrec: _PackedString: ToDo"
+ showsPrec p ps r = showsPrec p (_unpackPS ps) r
+\end{code}
+
+%************************************************************************
+%* *
+\subsection{Uniquely PackedString functions}
+%* *
+%************************************************************************
+
+For @_substrPS@, see the next section.
+
+@_hashPS@ is just what we happen to need in GHC...
+\begin{code}
+{- LATER?
+_hashPS ps (I# hASH_TBL_SIZE#)
+ = I# (h `remInt#` hASH_TBL_SIZE#)
+ where
+ len = lengthPS# ps
+
+ h | len <=# 0# = 0# -- probably should just be an "error"
+ | len ==# 1# = ord# c1
+ | len ==# 2# = ord# c2
+ | len ==# 3# = ord# c2 +# ord# c3
+ | len ==# 4# = ord# c2 +# ord# c3 +# ord# c4
+ | len ==# 5# = ord# c2 +# ord# c3 +# ord# c4 +# ord# c5
+ | len >=# 6# = ord# c2 +# ord# c3 +# ord# c4 +# ord# c5 +# ord# c6
+ | otherwise = 999# -- will never happen
+
+ c1 = indexPS# ps 0#
+ c2 = indexPS# ps 1#
+ c3 = indexPS# ps 2#
+ c4 = indexPS# ps 3#
+ c5 = indexPS# ps 4#
+ c6 = indexPS# ps 5#
+-}
+\end{code}
+
+%************************************************************************
+%* *
+\subsection{Local utility functions}
+%* *
+%************************************************************************
+
+The definition of @_substrPS@ is essentially:
+@take (end - begin + 1) (drop begin str)@.
+\begin{code}
+_substrPS ps (I# begin) (I# end) = substrPS# ps begin end
+
+substrPS# ps s e
+ | s <# 0# || e <# s
+ = error "_substrPS: bounds out of range"
+
+ | s >=# len || result_len# <=# 0#
+ = _nilPS
+
+ | otherwise
+ = _runST (
+ new_ps_array (result_len# +# 1#) `thenStrictlyST` \ ch_arr -> -- incl NUL byte!
+ fill_in ch_arr 0# `seqStrictlyST`
+ freeze_ps_array ch_arr `thenStrictlyST` \ (_ByteArray _ frozen#) ->
+
+ let has_null = byteArrayHasNUL# frozen# result_len# in
+
+ returnStrictlyST (_PS frozen# result_len# has_null)
+ )
+ where
+ len = lengthPS# ps
+
+ result_len# = (if e <# len then (e +# 1#) else len) -# s
+ result_len = I# result_len#
+
+ -----------------------
+ fill_in :: _MutableByteArray s Int -> Int# -> _ST s ()
+
+ fill_in arr_in# idx
+ | idx ==# result_len#
+ = write_ps_array arr_in# idx (chr# 0#) `seqStrictlyST`
+ returnStrictlyST ()
+ | otherwise
+ = let
+ ch = indexPS# ps (s +# idx)
+ in
+ write_ps_array arr_in# idx ch `seqStrictlyST`
+ fill_in arr_in# (idx +# 1#)
+\end{code}
+
+(Very :-) ``Specialised'' versions of some CharArray things...
+\begin{code}
+new_ps_array :: Int# -> _ST s (_MutableByteArray s Int)
+write_ps_array :: _MutableByteArray s Int -> Int# -> Char# -> _ST s ()
+freeze_ps_array :: _MutableByteArray s Int -> _ST s (_ByteArray Int)
+
+new_ps_array size (S# s)
+ = case (newCharArray# size s) of { StateAndMutableByteArray# s2# barr# ->
+ (_MutableByteArray bot barr#, S# s2#)}
+ where
+ bot = error "new_ps_array"
+
+write_ps_array (_MutableByteArray _ barr#) n ch (S# s#)
+ = case writeCharArray# barr# n ch s# of { s2# ->
+ ((), S# s2#)}
+
+-- same as unsafeFreezeByteArray
+freeze_ps_array (_MutableByteArray ixs arr#) (S# s#)
+ = case unsafeFreezeByteArray# arr# s# of { StateAndByteArray# s2# frozen# ->
+ (_ByteArray ixs frozen#, S# s2#) }
+\end{code}
diff --git a/ghc/lib/prelude/PS_mc.hi b/ghc/lib/prelude/PS_mc.hi
new file mode 100644
index 0000000000..b55f39259b
--- /dev/null
+++ b/ghc/lib/prelude/PS_mc.hi
@@ -0,0 +1,104 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludePS where
+import PreludeArray(_ByteArray)
+import PreludeBuiltin(Char(..), Int(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import Stdio(_FILE)
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packBytesForC :: [Char] -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packBytesForCST :: [Char] -> _State a -> (_ByteArray Int, _State a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _S_ "S" _N_ _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCBytesST :: Int -> _Addr -> _State a -> (_PackedString, _State a)
+ {-# GHC_PRAGMA _A_ 2 _U_ 112 _N_ _S_ "U(P)U(P)" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packStringForC :: [Char] -> ByteArray#
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packStringST :: [Char] -> _State a -> (_PackedString, _State a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_unsafeByteArrayToPS :: _ByteArray a -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AP)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unpackPS# :: Addr# -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "P" _N_ _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PS_mg.hi b/ghc/lib/prelude/PS_mg.hi
new file mode 100644
index 0000000000..b55f39259b
--- /dev/null
+++ b/ghc/lib/prelude/PS_mg.hi
@@ -0,0 +1,104 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludePS where
+import PreludeArray(_ByteArray)
+import PreludeBuiltin(Char(..), Int(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import Stdio(_FILE)
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packBytesForC :: [Char] -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packBytesForCST :: [Char] -> _State a -> (_ByteArray Int, _State a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _S_ "S" _N_ _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCBytesST :: Int -> _Addr -> _State a -> (_PackedString, _State a)
+ {-# GHC_PRAGMA _A_ 2 _U_ 112 _N_ _S_ "U(P)U(P)" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packStringForC :: [Char] -> ByteArray#
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packStringST :: [Char] -> _State a -> (_PackedString, _State a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_unsafeByteArrayToPS :: _ByteArray a -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AP)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unpackPS# :: Addr# -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "P" _N_ _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PS_mp.hi b/ghc/lib/prelude/PS_mp.hi
new file mode 100644
index 0000000000..b55f39259b
--- /dev/null
+++ b/ghc/lib/prelude/PS_mp.hi
@@ -0,0 +1,104 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludePS where
+import PreludeArray(_ByteArray)
+import PreludeBuiltin(Char(..), Int(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import Stdio(_FILE)
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packBytesForC :: [Char] -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packBytesForCST :: [Char] -> _State a -> (_ByteArray Int, _State a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _S_ "S" _N_ _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCBytesST :: Int -> _Addr -> _State a -> (_PackedString, _State a)
+ {-# GHC_PRAGMA _A_ 2 _U_ 112 _N_ _S_ "U(P)U(P)" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packStringForC :: [Char] -> ByteArray#
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packStringST :: [Char] -> _State a -> (_PackedString, _State a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_unsafeByteArrayToPS :: _ByteArray a -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AP)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unpackPS# :: Addr# -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "P" _N_ _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PS_mr.hi b/ghc/lib/prelude/PS_mr.hi
new file mode 100644
index 0000000000..b55f39259b
--- /dev/null
+++ b/ghc/lib/prelude/PS_mr.hi
@@ -0,0 +1,104 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludePS where
+import PreludeArray(_ByteArray)
+import PreludeBuiltin(Char(..), Int(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import Stdio(_FILE)
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packBytesForC :: [Char] -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packBytesForCST :: [Char] -> _State a -> (_ByteArray Int, _State a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _S_ "S" _N_ _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCBytesST :: Int -> _Addr -> _State a -> (_PackedString, _State a)
+ {-# GHC_PRAGMA _A_ 2 _U_ 112 _N_ _S_ "U(P)U(P)" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packStringForC :: [Char] -> ByteArray#
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packStringST :: [Char] -> _State a -> (_PackedString, _State a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_unsafeByteArrayToPS :: _ByteArray a -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AP)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unpackPS# :: Addr# -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "P" _N_ _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PS_mt.hi b/ghc/lib/prelude/PS_mt.hi
new file mode 100644
index 0000000000..b55f39259b
--- /dev/null
+++ b/ghc/lib/prelude/PS_mt.hi
@@ -0,0 +1,104 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludePS where
+import PreludeArray(_ByteArray)
+import PreludeBuiltin(Char(..), Int(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import Stdio(_FILE)
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packBytesForC :: [Char] -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packBytesForCST :: [Char] -> _State a -> (_ByteArray Int, _State a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _S_ "S" _N_ _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCBytesST :: Int -> _Addr -> _State a -> (_PackedString, _State a)
+ {-# GHC_PRAGMA _A_ 2 _U_ 112 _N_ _S_ "U(P)U(P)" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packStringForC :: [Char] -> ByteArray#
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packStringST :: [Char] -> _State a -> (_PackedString, _State a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_unsafeByteArrayToPS :: _ByteArray a -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AP)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unpackPS# :: Addr# -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "P" _N_ _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PS_p.hi b/ghc/lib/prelude/PS_p.hi
new file mode 100644
index 0000000000..b55f39259b
--- /dev/null
+++ b/ghc/lib/prelude/PS_p.hi
@@ -0,0 +1,104 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludePS where
+import PreludeArray(_ByteArray)
+import PreludeBuiltin(Char(..), Int(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import Stdio(_FILE)
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packBytesForC :: [Char] -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packBytesForCST :: [Char] -> _State a -> (_ByteArray Int, _State a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _S_ "S" _N_ _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCBytesST :: Int -> _Addr -> _State a -> (_PackedString, _State a)
+ {-# GHC_PRAGMA _A_ 2 _U_ 112 _N_ _S_ "U(P)U(P)" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packStringForC :: [Char] -> ByteArray#
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packStringST :: [Char] -> _State a -> (_PackedString, _State a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_unsafeByteArrayToPS :: _ByteArray a -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AP)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unpackPS# :: Addr# -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "P" _N_ _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PS_t.hi b/ghc/lib/prelude/PS_t.hi
new file mode 100644
index 0000000000..b55f39259b
--- /dev/null
+++ b/ghc/lib/prelude/PS_t.hi
@@ -0,0 +1,104 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludePS where
+import PreludeArray(_ByteArray)
+import PreludeBuiltin(Char(..), Int(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import Stdio(_FILE)
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packBytesForC :: [Char] -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packBytesForCST :: [Char] -> _State a -> (_ByteArray Int, _State a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _S_ "S" _N_ _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCBytesST :: Int -> _Addr -> _State a -> (_PackedString, _State a)
+ {-# GHC_PRAGMA _A_ 2 _U_ 112 _N_ _S_ "U(P)U(P)" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packStringForC :: [Char] -> ByteArray#
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_packStringST :: [Char] -> _State a -> (_PackedString, _State a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_unsafeByteArrayToPS :: _ByteArray a -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(AP)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unpackPS# :: Addr# -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "P" _N_ _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Parallel.hi b/ghc/lib/prelude/Parallel.hi
new file mode 100644
index 0000000000..27e35d56e8
--- /dev/null
+++ b/ghc/lib/prelude/Parallel.hi
@@ -0,0 +1,9 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Parallel where
+infixr 0 `par`
+infixr 1 `seq`
+par :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AS" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> u3 _N_ #-}
+seq :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AS" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> u3 _N_ #-}
+
diff --git a/ghc/lib/prelude/Parallel.lhs b/ghc/lib/prelude/Parallel.lhs
new file mode 100644
index 0000000000..7ee2c7a24e
--- /dev/null
+++ b/ghc/lib/prelude/Parallel.lhs
@@ -0,0 +1,35 @@
+%
+% (c) The GRASP/AQUA Project, Glasgow University, 1995
+%
+\section[Parallel]{Parallel Constructs}
+
+\begin{code}
+module Parallel (par, seq)
+
+where
+
+infixr 0 `par`
+infixr 1 `seq`
+
+par, seq :: a -> b -> b
+
+#if !defined(__CONCURRENT_HASKELL__) && !defined(__PARALLEL_HASKELL__)
+
+par a b = b
+seq a b = b
+
+#else
+
+-- Just names without the ugly underscores
+
+{-# INLINE par #-}
+par a b = _par_ a b
+
+{-# INLINE seq #-}
+seq a b = _seq_ a b
+
+-- Maybe parIO and the like could be added here later.
+
+#endif {- __CONCURRENT_HASKELL__ -}
+\end{code}
+
diff --git a/ghc/lib/prelude/Parallel_mc.hi b/ghc/lib/prelude/Parallel_mc.hi
new file mode 100644
index 0000000000..bef532dd74
--- /dev/null
+++ b/ghc/lib/prelude/Parallel_mc.hi
@@ -0,0 +1,9 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Parallel where
+infixr 0 `par`
+infixr 1 `seq`
+par :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> case _#_ par# [u0] [u2] of { _PRIM_ 0# -> _TYAPP_ parError# { u1 }; (u4 :: Int#) -> u3 } _N_ #-}
+seq :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> case _#_ seq# [u0] [u2] of { _PRIM_ 0# -> _TYAPP_ parError# { u1 }; (u4 :: Int#) -> u3 } _N_ #-}
+
diff --git a/ghc/lib/prelude/Parallel_mg.hi b/ghc/lib/prelude/Parallel_mg.hi
new file mode 100644
index 0000000000..27e35d56e8
--- /dev/null
+++ b/ghc/lib/prelude/Parallel_mg.hi
@@ -0,0 +1,9 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Parallel where
+infixr 0 `par`
+infixr 1 `seq`
+par :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AS" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> u3 _N_ #-}
+seq :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AS" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> u3 _N_ #-}
+
diff --git a/ghc/lib/prelude/Parallel_mp.hi b/ghc/lib/prelude/Parallel_mp.hi
new file mode 100644
index 0000000000..bef532dd74
--- /dev/null
+++ b/ghc/lib/prelude/Parallel_mp.hi
@@ -0,0 +1,9 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Parallel where
+infixr 0 `par`
+infixr 1 `seq`
+par :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> case _#_ par# [u0] [u2] of { _PRIM_ 0# -> _TYAPP_ parError# { u1 }; (u4 :: Int#) -> u3 } _N_ #-}
+seq :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> case _#_ seq# [u0] [u2] of { _PRIM_ 0# -> _TYAPP_ parError# { u1 }; (u4 :: Int#) -> u3 } _N_ #-}
+
diff --git a/ghc/lib/prelude/Parallel_p.hi b/ghc/lib/prelude/Parallel_p.hi
new file mode 100644
index 0000000000..27e35d56e8
--- /dev/null
+++ b/ghc/lib/prelude/Parallel_p.hi
@@ -0,0 +1,9 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Parallel where
+infixr 0 `par`
+infixr 1 `seq`
+par :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AS" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> u3 _N_ #-}
+seq :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AS" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> u3 _N_ #-}
+
diff --git a/ghc/lib/prelude/Parallel_t.hi b/ghc/lib/prelude/Parallel_t.hi
new file mode 100644
index 0000000000..27e35d56e8
--- /dev/null
+++ b/ghc/lib/prelude/Parallel_t.hi
@@ -0,0 +1,9 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Parallel where
+infixr 0 `par`
+infixr 1 `seq`
+par :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AS" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> u3 _N_ #-}
+seq :: a -> b -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AS" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> u3 _N_ #-}
+
diff --git a/ghc/lib/prelude/Prel.hi b/ghc/lib/prelude/Prel.hi
new file mode 100644
index 0000000000..392366b9e4
--- /dev/null
+++ b/ghc/lib/prelude/Prel.hi
@@ -0,0 +1,87 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeBuiltin(Bin, Char(..), Int(..), Tuple2)
+import PreludeCore(Bool(..), Fractional(..), Integral(..), Num(..), RealFloat(..), RealFrac(..))
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: Ratio Integer -> u1) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ uf ] _N_} _F_ _IF_ARGS_ 2 3 CCX 8 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Fractional u1}}) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_4 (ug :: {{Num u1}}) (uh :: u1 -> u1 -> u1) (ui :: u1 -> u1) (uj :: Ratio Integer -> u1) -> _APP_ uj [ uf ]; _NO_DEFLT_ } _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+
diff --git a/ghc/lib/prelude/Prel.hs b/ghc/lib/prelude/Prel.hs
new file mode 100644
index 0000000000..e488a47b16
--- /dev/null
+++ b/ghc/lib/prelude/Prel.hs
@@ -0,0 +1,410 @@
+-- Standard value bindings
+
+module Prelude (
+ -- NB: not the "real" Prelude.hi export list
+ ($),
+ (&&),
+ (.),
+ (^),
+ (^^),
+ appendBin,
+ asTypeOf,
+ atan2,
+ chr,
+ const,
+ flip,
+ fromIntegral,
+ fromRealFrac,
+ fst,
+ gcd,
+ id,
+ isAlpha,
+ isAlphanum,
+ isAscii,
+ isControl,
+ isDigit,
+ isLower,
+ isNullBin,
+ isPrint,
+ isSpace,
+ isUpper,
+ lcm,
+ maxChar,
+ maxInt,
+ minChar,
+ minInt,
+ not,
+ nullBin,
+ ord,
+ otherwise,
+ snd,
+ subtract,
+ toLower,
+ toUpper,
+ until,
+ (||)
+
+#if defined(__UNBOXED_INSTANCES__)
+ , minInt#, maxInt#
+ , minChar#, maxChar#
+ , toChar#, fromChar#
+ , isAscii#, isControl#, isPrint#, isSpace#
+ , isUpper#, isLower#, isAlpha#, isDigit#, isAlphanum#
+ , toUpper#, toLower#
+#endif
+ ) where
+
+import UTypes ( Bin ) -- so we don't get any data constructors!
+
+import Cls
+import Core
+import TyComplex
+import IChar
+import IComplex
+import IDouble
+import IFloat
+import IInt
+import IInteger
+import IList
+import IRatio
+import List ( (++) )
+import PS ( _PackedString, _unpackPS )
+import Text
+
+--infixr 9 .
+--infixr 8 ^, ^^
+--infixr 3 &&
+--infixr 2 ||
+--infixr 0 $
+
+---------------------------------------------------------------
+-- Binary functions
+---------------------------------------------------------------
+
+nullBin :: Bin
+isNullBin :: Bin -> Bool
+appendBin :: Bin -> Bin -> Bin
+
+-- *
+nullBin = error "nullBin{Prelude}\n"
+isNullBin = error "isNullBin{Prelude}\n"
+appendBin = error "appendBin{Prelude}\n"
+
+---------------------------------------------------------------
+-- Boolean functions
+---------------------------------------------------------------
+
+{-# INLINE (&&) #-}
+{-# INLINE (||) #-}
+(&&), (||) :: Bool -> Bool -> Bool
+True && x = x
+False && _ = False
+True || _ = True
+False || x = x
+
+{-# INLINE not #-}
+not :: Bool -> Bool
+not True = False
+not False = True
+
+{-# INLINE otherwise #-}
+otherwise :: Bool
+otherwise = True
+
+---------------------------------------------------------------
+-- Int functions
+---------------------------------------------------------------
+
+minInt, maxInt :: Int
+minInt = -2147483647 -- **********************
+maxInt = 2147483647 -- **********************
+
+---------------------------------------------------------------
+-- Char functions
+---------------------------------------------------------------
+
+minChar, maxChar :: Char
+minChar = '\0'
+maxChar = '\255'
+
+ord :: Char -> Int
+ord c = case c of { C# ch -> I# (ord# ch) }
+
+chr :: Int -> Char
+chr i = case i of { I# ih -> C# (chr# ih) }
+
+isAscii, isControl, isPrint, isSpace :: Char -> Bool
+isUpper, isLower, isAlpha, isDigit, isAlphanum :: Char -> Bool
+
+isAscii c = ord c < 128
+isControl c = c < ' ' || c == '\DEL'
+isPrint c = c >= ' ' && c <= '~'
+isSpace c = c == ' ' || c == '\t' || c == '\n' ||
+ c == '\r' || c == '\f' || c == '\v'
+isUpper c = c >= 'A' && c <= 'Z'
+isLower c = c >= 'a' && c <= 'z'
+isAlpha c = isUpper c || isLower c
+isDigit c = c >= '0' && c <= '9'
+isAlphanum c = isAlpha c || isDigit c
+
+
+toUpper, toLower :: Char -> Char
+toUpper c | isLower c = chr ((ord c - ord 'a') + ord 'A')
+ | otherwise = c
+
+toLower c | isUpper c = chr ((ord c - ord 'A') + ord 'a')
+ | otherwise = c
+
+#if defined(__UNBOXED_INSTANCES__)
+---------------------------------------------------------------
+-- Int# functions
+---------------------------------------------------------------
+
+-- ToDo: Preferable to overload minInt and maxInt
+-- minInt, maxInt :: Num a => a
+-- Solution: place in class Num (as pi is in Floating)
+
+minInt#, maxInt# :: Int#
+minInt# = -2147483647#
+maxInt# = 2147483647#
+
+---------------------------------------------------------------
+-- Char# functions -- ToDo: class Chr ???
+---------------------------------------------------------------
+
+toChar# :: Char -> Char#
+toChar# (C# c#) = c#
+
+fromChar# :: Char# -> Char
+fromChar# c# = C# c#
+
+-- ord# and chr# are builtin
+
+minChar#, maxChar# :: Char#
+minChar# = '\0'#
+maxChar# = '\255'#
+
+isAscii#, isControl#, isPrint#, isSpace# :: Char# -> Bool
+isUpper#, isLower#, isAlpha#, isDigit#, isAlphanum# :: Char# -> Bool
+
+isAscii# c = ord# c < 128#
+isControl# c = c < ' '# || c == '\DEL'#
+isPrint# c = c >= ' '# && c <= '~'#
+isSpace# c = c == ' '# || c == '\t'# || c == '\n'# ||
+ c == '\r'# || c == '\f'# || c == '\v'#
+isUpper# c = c >= 'A'# && c <= 'Z'#
+isLower# c = c >= 'a'# && c <= 'z'#
+isAlpha# c = isUpper# c || isLower# c
+isDigit# c = c >= '0'# && c <= '9'#
+isAlphanum# c = isAlpha# c || isDigit# c
+
+
+toUpper#, toLower# :: Char# -> Char#
+toUpper# c | isLower# c = chr# ((ord# c - ord# 'a'#) + ord# 'A'#)
+ | otherwise = c
+
+toLower# c | isUpper# c = chr# ((ord# c - ord# 'A'#) + ord# 'a'#)
+ | otherwise = c
+
+#endif {-UNBOXED INSTANCES-}
+
+---------------------------------------------------------------
+-- Numeric functions
+---------------------------------------------------------------
+
+--{-# GENERATE_SPECS subtract a{Int#,Double#} #-}
+{-# GENERATE_SPECS subtract a{~,Int,Double} #-}
+subtract :: (Num a) => a -> a -> a
+#ifdef USE_REPORT_PRELUDE
+subtract = flip (-)
+#else
+subtract x y = y - x
+#endif /* ! USE_REPORT_PRELUDE */
+
+--{-# GENERATE_SPECS gcd a{Int#,Int,Integer} #-}
+{-# GENERATE_SPECS gcd a{~,Int,Integer} #-}
+gcd :: (Integral a) => a -> a -> a
+gcd 0 0 = error "gcd{Prelude}: gcd 0 0 is undefined\n"
+gcd x y = gcd' (abs x) (abs y)
+ where gcd' x 0 = x
+ gcd' x y = gcd' y (x `rem` y)
+
+--{-# GENERATE_SPECS lcm a{Int#,Int,Integer} #-}
+{-# GENERATE_SPECS lcm a{~,Int,Integer} #-}
+lcm :: (Integral a) => a -> a -> a
+lcm _ 0 = 0
+lcm 0 _ = 0
+lcm x y = abs ((x `quot` (gcd x y)) * y)
+
+--{-# GENERATE_SPECS (^) a{~,Int#,Double#,Int,Integer,Double,Complex(Double#),Complex(Double)} b{~,Int#,Int} #-}
+{-# GENERATE_SPECS (^) a{~,Int,Integer,Double,Rational,Complex(Double)} b{~,Int} #-}
+(^) :: (Num a, Integral b) => a -> b -> a
+x ^ 0 = 1
+x ^ (n+1) = f x n x
+ where f _ 0 y = y
+ f x n y = g x n where
+ g x n | odd n = f x (n-1) (x*y)
+ | otherwise = g (x*x) (n `div` 2)
+_ ^ _ = error "(^){Prelude}: negative exponent\n"
+
+--{-# GENERATE_SPECS (^^) a{~,Double#,Double,Complex(Double#),Complex(Double)} b{~,Int#,Int} #-}
+{-# GENERATE_SPECS (^^) a{~,Double,Rational} b{~,Int} #-}
+(^^) :: (Fractional a, Integral b) => a -> b -> a
+x ^^ n = if n >= 0 then x^n else recip (x^(-n))
+
+--{-# GENERATE_SPECS atan2 a{Double#,Double} #-}
+{-# GENERATE_SPECS atan2 a{~,Double} #-}
+atan2 :: (RealFloat a) => a -> a -> a
+#if USE_REPORT_PRELUDE
+atan2 y x = case (signum y, signum x) of
+ ( 0, 1) -> 0
+ ( 1, 0) -> pi/2
+ ( 0,-1) -> pi
+ (-1, 0) -> -pi/2
+ ( _, 1) -> atan (y/x)
+ ( _,-1) -> atan (y/x) + pi
+ ( 0, 0) -> error "atan2{Prelude}: atan2 of origin\n"
+#else {- steal Lennart's version -}
+atan2 y x =
+ if y == 0 then
+ if x > 0 then 0
+ else if x < 0 then pi
+ else {- x == 0 -} error "Prelude.atan2: atan2 of origin"
+ else if x == 0 then
+ if y > 0 then pi/2
+ else {- y < 0 -} -pi/2
+ else if x > 0 then
+ atan (y/x) -- 1st and 4th quadrant
+ else {- x < 0 -}
+ if y > 0 then
+ atan (y/x) + pi -- 2nd quadrant
+ else {- y < 0 -}
+ atan (y/x) - pi -- 3rd quadrant
+#endif
+
+---------------------------------------------------------------
+-- Some standard functions:
+---------------------------------------------------------------
+
+-- component projections for pairs:
+--{-# GENERATE_SPECS fst a b #-}
+fst :: (a,b) -> a
+fst (x,y) = x
+
+--{-# GENERATE_SPECS snd a b #-}
+snd :: (a,b) -> b
+snd (x,y) = y
+
+-- identity function
+--{-# GENERATE_SPECS id a #-}
+id :: a -> a
+id x = x
+
+-- constant function
+--{-# GENERATE_SPECS const a b #-}
+const :: a -> b -> a
+const x _ = x
+
+-- function composition
+{-# INLINE (.) #-}
+--{-# GENERATE_SPECS (.) a b c #-}
+(.) :: (b -> c) -> (a -> b) -> a -> c
+(f . g) x = f (g x)
+
+-- flip f takes its (first) two arguments in the reverse order of f.
+--{-# GENERATE_SPECS flip a b c #-}
+flip :: (a -> b -> c) -> b -> a -> c
+flip f x y = f y x
+
+-- right-associating infix application operator (useful in continuation-
+-- passing style)
+--{-# GENERATE_SPECS ($) a b #-}
+($) :: (a -> b) -> a -> b
+f $ x = f x
+
+-- until p f yields the result of applying f until p holds.
+--{-# GENERATE_SPECS until a #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+until p f x | p x = x
+ | otherwise = until p f (f x)
+
+-- asTypeOf is a type-restricted version of const. It is usually used
+-- as an infix operator, and its typing forces its first argument
+-- (which is usually overloaded) to have the same type as the second.
+--{-# GENERATE_SPECS asTypeOf a #-}
+asTypeOf :: a -> a -> a
+asTypeOf = const
+
+---------------------------------------------------------------
+-- fromIntegral and fromRealFrac with explicit specialisations
+---------------------------------------------------------------
+
+{- LATER:
+{-# SPECIALIZE fromIntegral ::
+ Int# -> Int# = id,
+ Int# -> Double# = int2Double#,
+ Int# -> Int = i2I#,
+ Int# -> Integer = int2Integer#,
+ Int# -> Double = i2D#,
+ Int -> Int# = i2i,
+ Int -> Double# = i2d,
+ Int -> Int = id,
+ Int -> Integer = i2Integer,
+ Int -> Double = i2D,
+ Integer -> Int# = integer2i,
+ Integer -> Double# = integer2d,
+ Integer -> Int = integer2I,
+ Integer -> Integer = id,
+ Integer -> Double = integer2D #-}
+-}
+
+{-# SPECIALIZE fromIntegral ::
+ Int -> Int = id,
+ Int -> Integer = i2Integer,
+ Int -> Double = i2D,
+ Integer -> Int = integer2I,
+ Integer -> Integer = id,
+ Integer -> Double = integer2D #-}
+
+i2I# i# = I# i#
+i2D# i# = D# (int2Double# i#)
+
+i2i (I# i#) = i#
+i2d (I# i#) = int2Double# i#
+i2D (I# i#) = D# (int2Double# i#)
+i2Integer (I# i#) = int2Integer# i#
+
+integer2i (J# a# s# d#) = integer2Int# a# s# d#
+integer2d (J# a# s# d#) = encodeDouble# a# s# d# 0#
+integer2I (J# a# s# d#) = I# (integer2Int# a# s# d#)
+integer2F (J# a# s# d#) = F# (encodeFloat# a# s# d# 0#)
+integer2D (J# a# s# d#) = D# (encodeDouble# a# s# d# 0#)
+
+fromIntegral :: (Integral a, Num b) => a -> b
+fromIntegral = fromInteger . toInteger
+
+{- LATER:
+{-# SPECIALIZE fromRealFrac ::
+ Double# -> Double# = id,
+ Double# -> Double = d2D#,
+ Double -> Double# = d2d,
+ Double -> Double = id #-}
+-}
+
+{-# SPECIALIZE fromRealFrac ::
+ Float -> Float = id,
+ Float -> Double = f2D,
+ Double -> Float = d2F,
+ Double -> Double = id #-}
+
+d2F# d# = F# (double2Float# d#)
+d2D# d# = D# d#
+
+f2d (F# f#) = float2Double# f#
+f2D (F# f#) = D# (float2Double# f#)
+
+d2d (D# d#) = d#
+d2F (D# d#) = F# (double2Float# d#)
+
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+fromRealFrac = fromRational . toRational
diff --git a/ghc/lib/prelude/Prel13.hi b/ghc/lib/prelude/Prel13.hi
new file mode 100644
index 0000000000..d646851610
--- /dev/null
+++ b/ghc/lib/prelude/Prel13.hi
@@ -0,0 +1,509 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeArray((!), (//), Array, Assoc, _ByteArray, accum, accumArray, amap, array, assocs, bounds, elems, indices, ixmap, listArray)
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7, _Addr(..), _RealWorld(..), _State(..))
+import PreludeComplex(Complex, cis, conjugate, imagPart, magnitude, mkPolar, phase, polar, realPart)
+import PreludeCore(Bool(..), Eq(..), Fractional(..), Integral(..), Ix(..), Num(..), Ord(..), Real(..), RealFloat(..), RealFrac(..), Text(..), _ceiling, _floor, _readList, _round, _showList, _showRational, _truncate)
+import PreludeIO(interact13) renaming (interact13 to interact)
+import PreludeIOError(IOError13)
+import PreludeList((!!), (++), (\\), all, and, any, break, concat, cycle, drop, dropWhile, elem, filter, foldl1, foldr1, genericLength, head, init, iterate, last, length, lines, map, maximum, minimum, notElem, nub, null, or, partition, product, products, repeat, reverse, scanl, scanl1, scanr, scanr1, span, splitAt, sum, sums, tail, take, takeWhile, transpose, unlines, unwords, unzip, unzip3, unzip4, unzip5, unzip6, unzip7, words, zip, zip3, zip4, zip5, zip6, zip7, zipWith, zipWith3, zipWith4, zipWith5, zipWith6, zipWith7)
+import PreludeMonadicIO((>>), (>>=), Either, accumulate, either, fail, failWith, handle, return, sequence, try)
+import PreludePS(_PackedString, _appendPS, _breakPS, _byteArrayToPS, _concatPS, _consPS, _dropPS, _dropWhilePS, _filterPS, _foldlPS, _foldrPS, _headPS, _indexPS, _lengthPS, _linesPS, _mapPS, _nilPS, _nullPS, _packCBytes, _packCString, _packString, _psToByteArray, _putPS, _reversePS, _spanPS, _splitAtPS, _substrPS, _tailPS, _takePS, _takeWhilePS, _unpackPS, _wordsPS)
+import PreludePrimIO(_MVar)
+import PreludeRatio((%), Ratio(..), approxRational, denominator, numerator)
+import PreludeReadTextIO(getChar, hGetChar, hGetContents, hLookAhead, hReady, readFile13) renaming (readFile13 to readFile)
+import PreludeStdIO(BufferMode, IOMode, Maybe, SeekMode, _Handle, hClose, hFileSize, hFlush, hGetPosn, hIsBlockBuffered, hIsClosed, hIsEOF, hIsLineBuffered, hIsNotBuffered, hIsOpen, hIsReadable, hIsSeekable, hIsWritable, hSeek, hSetBuffering, hSetPosn, isEOF, openFile, stderr13, stdin13, stdout13) renaming (stderr13 to stderr, stdin13 to stdin, stdout13 to stdout)
+import PreludeText(_readRational, _showDigit, _showHex, _showRadix, lex, read, readDec, readFloat, readLitChar, readParen, readSigned, reads, show, showChar, showFloat, showInt, showLitChar, showParen, showSigned, showSpace__, showString, shows)
+import PreludeWriteTextIO(appendFile13, hPutChar, hPutStr, hPutText, print13, putChar, putStr, putText, writeFile13) renaming (appendFile13 to appendFile, print13 to print, writeFile13 to writeFile)
+import Stdio(_FILE)
+infixr 1 >>
+infixr 1 >>=
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+curry :: ((a, b) -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 6 _/\_ u0 u1 u2 -> \ (u3 :: (u0, u1) -> u2) (u4 :: u0) (u5 :: u1) -> let {(u6 :: (u0, u1)) = _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ u3 [ u6 ] _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: Ratio Integer -> u1) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ uf ] _N_} _F_ _IF_ARGS_ 2 3 CCX 8 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Fractional u1}}) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_4 (ug :: {{Num u1}}) (uh :: u1 -> u1 -> u1) (ui :: u1 -> u1) (uj :: Ratio Integer -> u1) -> _APP_ uj [ uf ]; _NO_DEFLT_ } _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+ioToPrimIO :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+primIOToIO :: (_State _RealWorld -> (a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+thenMaybe :: Maybe a -> (a -> Maybe b) -> Maybe b
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 5 _/\_ u0 u1 -> \ (u2 :: Maybe u0) (u3 :: u0 -> Maybe u1) -> case u2 of { _ALG_ Nothing -> _!_ Nothing [u1] []; Just (u4 :: u0) -> _APP_ u3 [ u4 ]; _NO_DEFLT_ } _N_ #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+uncurry :: (a -> b -> c) -> (a, b) -> c
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u4, u5 ] _N_} _F_ _IF_ARGS_ 3 2 XC 4 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: (u0, u1)) -> case u4 of { _ALG_ _TUP_2 (u5 :: u0) (u6 :: u1) -> _APP_ u3 [ u5, u6 ]; _NO_DEFLT_ } _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+interact :: ([Char] -> [Char]) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readFile :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendFile :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Prel13.hs b/ghc/lib/prelude/Prel13.hs
new file mode 100644
index 0000000000..89d69d8ec7
--- /dev/null
+++ b/ghc/lib/prelude/Prel13.hs
@@ -0,0 +1,191 @@
+-- compiled to produce a 1.3 (whatever that is) Prelude.hi file
+--
+module Prelude (
+
+ -- 1.3 extras (I/O is later)
+ thenMaybe,
+ curry, uncurry,
+-- LATER?
+-- copy, lookup,
+
+ -- NO: really builtin (0.20+): trace,
+
+ (%), numerator, denominator, approxRational,
+
+ realPart, imagPart, conjugate, mkPolar, cis,
+ polar, magnitude, phase,
+
+ _appendPS, _breakPS, _concatPS, _dropPS, _dropWhilePS,
+ _filterPS, _foldlPS, _foldrPS, _headPS, _indexPS, _lengthPS,
+ _linesPS, _mapPS, _nilPS, _consPS, _nullPS, _packCBytes,
+ _packCString, _packString, _byteArrayToPS, _psToByteArray,
+ _reversePS, _spanPS, _splitAtPS, _substrPS, _tailPS, _takePS,
+ _takeWhilePS, _unpackPS, _wordsPS, _putPS,
+
+ (&&), (||), not, otherwise,
+ (^), (^^), appendBin, asTypeOf, atan2, fromIntegral,
+ fromRealFrac, gcd, isAlpha, isAlphanum, isAscii, isControl,
+ isDigit, isLower, isNullBin, isPrint, isSpace, isUpper, lcm,
+ maxChar, maxInt, minChar, minInt, nullBin, subtract, toLower,
+ toUpper, until, fst, snd, id, const, (.), flip, ($),
+ ord, chr,
+
+#if defined(__UNBOXED_INSTANCES__)
+ minInt#, maxInt#,
+ minChar#, maxChar#,
+ toChar#, fromChar#,
+ isAscii#, isControl#, isPrint#, isSpace#,
+ isUpper#, isLower#, isAlpha#, isDigit#, isAlphanum#,
+ toUpper#, toLower#,
+#endif
+
+ head, last, tail, init, null, (++), (\\), genericLength,
+ length, (!!), map, filter, partition, {-BUILTIN: foldl,-}
+ foldl1, scanl, scanl1, {-BUILTIN: foldr,-} foldr1, scanr, scanr1,
+ iterate, repeat, cycle, take, drop, splitAt, takeWhile,
+ dropWhile, span, break, lines, words, unlines, unwords, nub,
+ reverse, and, or, any, all, elem, notElem, sum,
+ product, sums, products, maximum, minimum, concat,
+ transpose, zip, zip3, zip4, zip5, zip6, zip7, zipWith,
+ zipWith3, zipWith4, zipWith5, zipWith6, zipWith7, unzip,
+ unzip3, unzip4, unzip5, unzip6, unzip7,
+
+ array, listArray, (!), bounds, indices, elems, assocs,
+ accumArray, (//), accum, amap, ixmap,
+
+ reads, shows, show, read, lex, showChar, showString,
+ readParen, showParen, readLitChar, showLitChar, readSigned,
+ showSigned, showSpace__, readDec, showInt, readFloat, showFloat,
+ _showHex, _showRadix, _showDigit, -- non-std
+ _readList, _showList, _truncate, _round, _ceiling, _floor,
+
+ _readRational, _showRational, -- extras!
+
+ -- 1.3 I/O stuff from PreludeIO, some *renamed*
+ (>>),
+ (>>=),
+ accumulate,
+ appendFile,
+ either,
+ fail,
+ failWith,
+ getChar,
+ hClose,
+ hFileSize,
+ hFlush,
+ hGetChar,
+ hGetContents,
+ hGetPosn,
+ hIsBlockBuffered,
+ hIsClosed,
+ hIsEOF,
+ hIsLineBuffered,
+ hIsNotBuffered,
+ hIsOpen,
+ hIsReadable,
+ hIsSeekable,
+ hIsWritable,
+ hLookAhead,
+ hPutChar,
+ hPutStr,
+ hPutText,
+ hReady,
+ hSeek,
+ hSetBuffering,
+ hSetPosn,
+ handle,
+ interact,
+ isEOF,
+ openFile,
+ putChar,
+ putStr,
+ putText,
+ print,
+ readFile,
+ return,
+ sequence,
+ stderr,
+ stdin,
+ stdout,
+ try,
+ writeFile,
+
+ primIOToIO, ioToPrimIO, -- extra, and very dodgy
+
+ -- and for foldr/build
+ _build
+
+ ) where
+
+-- few *Ty(s) imports
+import TyArray ( Array(..), Assoc(..), _ByteArray )
+import TyComplex ( Complex(..) )
+--import Builtin ( trace )
+import Cls hiding ( String )
+import Core
+import PreludeGlaST ( thenStrictlyST, _MutableByteArray, _MutableArray )
+import PreludePrimIO ( thenPrimIO, returnPrimIO )
+--import PrelCore13
+import IArray
+import IBool
+import IChar
+import IComplex
+import IDouble
+import IFloat
+import IInt
+import IInteger
+import IList
+import IRatio
+import ITup0
+import ITup2
+import ITup3
+import ITup4
+import ITup5
+import List
+import Prel
+import Text
+import PS
+
+import PreludeIO renaming ( -- IOError13 to IOError -- can't rename PreludeCore types
+ appendFile13 to appendFile
+ , interact13 to interact
+ , print13 to print
+ , readFile13 to readFile
+ , stderr13 to stderr
+ , stdin13 to stdin
+ , stdout13 to stdout
+ , writeFile13 to writeFile
+ )
+
+primIOToIO :: PrimIO a -> IO a
+primIOToIO m = m `thenPrimIO` \ a -> return a
+
+ioToPrimIO :: IO a -> PrimIO a
+ioToPrimIO io
+ = io `thenPrimIO` \ r ->
+ case r of
+ Right a -> returnPrimIO a
+ Left e -> error ("I/O Error (ioToPrimIO): " ++ shows e "\n")
+
+
+-- 1.3 extra functions
+
+thenMaybe :: Maybe a -> (a -> Maybe b) -> Maybe b
+thenMaybe Nothing _ = Nothing
+thenMaybe (Just x) f = f x
+
+curry :: ((a,b) -> c) -> a -> b -> c
+curry f x y = f (x,y)
+
+uncurry :: (a -> b -> c) -> (a,b) -> c
+uncurry f (x,y) = f x y
+
+{- LATER?:
+copy :: Int -> a -> [a]
+copy n x = take n (repeat x)
+
+lookup :: Eq a => [(a,b)] -> a -> Maybe b
+lookup [] _ = Nothing
+lookup ((key,val) : rest) x | key == x = Just val
+ | otherwise = lookup rest x
+-}
diff --git a/ghc/lib/prelude/Prel13_mc.hi b/ghc/lib/prelude/Prel13_mc.hi
new file mode 100644
index 0000000000..d646851610
--- /dev/null
+++ b/ghc/lib/prelude/Prel13_mc.hi
@@ -0,0 +1,509 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeArray((!), (//), Array, Assoc, _ByteArray, accum, accumArray, amap, array, assocs, bounds, elems, indices, ixmap, listArray)
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7, _Addr(..), _RealWorld(..), _State(..))
+import PreludeComplex(Complex, cis, conjugate, imagPart, magnitude, mkPolar, phase, polar, realPart)
+import PreludeCore(Bool(..), Eq(..), Fractional(..), Integral(..), Ix(..), Num(..), Ord(..), Real(..), RealFloat(..), RealFrac(..), Text(..), _ceiling, _floor, _readList, _round, _showList, _showRational, _truncate)
+import PreludeIO(interact13) renaming (interact13 to interact)
+import PreludeIOError(IOError13)
+import PreludeList((!!), (++), (\\), all, and, any, break, concat, cycle, drop, dropWhile, elem, filter, foldl1, foldr1, genericLength, head, init, iterate, last, length, lines, map, maximum, minimum, notElem, nub, null, or, partition, product, products, repeat, reverse, scanl, scanl1, scanr, scanr1, span, splitAt, sum, sums, tail, take, takeWhile, transpose, unlines, unwords, unzip, unzip3, unzip4, unzip5, unzip6, unzip7, words, zip, zip3, zip4, zip5, zip6, zip7, zipWith, zipWith3, zipWith4, zipWith5, zipWith6, zipWith7)
+import PreludeMonadicIO((>>), (>>=), Either, accumulate, either, fail, failWith, handle, return, sequence, try)
+import PreludePS(_PackedString, _appendPS, _breakPS, _byteArrayToPS, _concatPS, _consPS, _dropPS, _dropWhilePS, _filterPS, _foldlPS, _foldrPS, _headPS, _indexPS, _lengthPS, _linesPS, _mapPS, _nilPS, _nullPS, _packCBytes, _packCString, _packString, _psToByteArray, _putPS, _reversePS, _spanPS, _splitAtPS, _substrPS, _tailPS, _takePS, _takeWhilePS, _unpackPS, _wordsPS)
+import PreludePrimIO(_MVar)
+import PreludeRatio((%), Ratio(..), approxRational, denominator, numerator)
+import PreludeReadTextIO(getChar, hGetChar, hGetContents, hLookAhead, hReady, readFile13) renaming (readFile13 to readFile)
+import PreludeStdIO(BufferMode, IOMode, Maybe, SeekMode, _Handle, hClose, hFileSize, hFlush, hGetPosn, hIsBlockBuffered, hIsClosed, hIsEOF, hIsLineBuffered, hIsNotBuffered, hIsOpen, hIsReadable, hIsSeekable, hIsWritable, hSeek, hSetBuffering, hSetPosn, isEOF, openFile, stderr13, stdin13, stdout13) renaming (stderr13 to stderr, stdin13 to stdin, stdout13 to stdout)
+import PreludeText(_readRational, _showDigit, _showHex, _showRadix, lex, read, readDec, readFloat, readLitChar, readParen, readSigned, reads, show, showChar, showFloat, showInt, showLitChar, showParen, showSigned, showSpace__, showString, shows)
+import PreludeWriteTextIO(appendFile13, hPutChar, hPutStr, hPutText, print13, putChar, putStr, putText, writeFile13) renaming (appendFile13 to appendFile, print13 to print, writeFile13 to writeFile)
+import Stdio(_FILE)
+infixr 1 >>
+infixr 1 >>=
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+curry :: ((a, b) -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 6 _/\_ u0 u1 u2 -> \ (u3 :: (u0, u1) -> u2) (u4 :: u0) (u5 :: u1) -> let {(u6 :: (u0, u1)) = _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ u3 [ u6 ] _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: Ratio Integer -> u1) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ uf ] _N_} _F_ _IF_ARGS_ 2 3 CCX 8 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Fractional u1}}) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_4 (ug :: {{Num u1}}) (uh :: u1 -> u1 -> u1) (ui :: u1 -> u1) (uj :: Ratio Integer -> u1) -> _APP_ uj [ uf ]; _NO_DEFLT_ } _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+ioToPrimIO :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+primIOToIO :: (_State _RealWorld -> (a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+thenMaybe :: Maybe a -> (a -> Maybe b) -> Maybe b
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 5 _/\_ u0 u1 -> \ (u2 :: Maybe u0) (u3 :: u0 -> Maybe u1) -> case u2 of { _ALG_ Nothing -> _!_ Nothing [u1] []; Just (u4 :: u0) -> _APP_ u3 [ u4 ]; _NO_DEFLT_ } _N_ #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+uncurry :: (a -> b -> c) -> (a, b) -> c
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u4, u5 ] _N_} _F_ _IF_ARGS_ 3 2 XC 4 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: (u0, u1)) -> case u4 of { _ALG_ _TUP_2 (u5 :: u0) (u6 :: u1) -> _APP_ u3 [ u5, u6 ]; _NO_DEFLT_ } _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+interact :: ([Char] -> [Char]) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readFile :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendFile :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Prel13_mg.hi b/ghc/lib/prelude/Prel13_mg.hi
new file mode 100644
index 0000000000..d646851610
--- /dev/null
+++ b/ghc/lib/prelude/Prel13_mg.hi
@@ -0,0 +1,509 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeArray((!), (//), Array, Assoc, _ByteArray, accum, accumArray, amap, array, assocs, bounds, elems, indices, ixmap, listArray)
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7, _Addr(..), _RealWorld(..), _State(..))
+import PreludeComplex(Complex, cis, conjugate, imagPart, magnitude, mkPolar, phase, polar, realPart)
+import PreludeCore(Bool(..), Eq(..), Fractional(..), Integral(..), Ix(..), Num(..), Ord(..), Real(..), RealFloat(..), RealFrac(..), Text(..), _ceiling, _floor, _readList, _round, _showList, _showRational, _truncate)
+import PreludeIO(interact13) renaming (interact13 to interact)
+import PreludeIOError(IOError13)
+import PreludeList((!!), (++), (\\), all, and, any, break, concat, cycle, drop, dropWhile, elem, filter, foldl1, foldr1, genericLength, head, init, iterate, last, length, lines, map, maximum, minimum, notElem, nub, null, or, partition, product, products, repeat, reverse, scanl, scanl1, scanr, scanr1, span, splitAt, sum, sums, tail, take, takeWhile, transpose, unlines, unwords, unzip, unzip3, unzip4, unzip5, unzip6, unzip7, words, zip, zip3, zip4, zip5, zip6, zip7, zipWith, zipWith3, zipWith4, zipWith5, zipWith6, zipWith7)
+import PreludeMonadicIO((>>), (>>=), Either, accumulate, either, fail, failWith, handle, return, sequence, try)
+import PreludePS(_PackedString, _appendPS, _breakPS, _byteArrayToPS, _concatPS, _consPS, _dropPS, _dropWhilePS, _filterPS, _foldlPS, _foldrPS, _headPS, _indexPS, _lengthPS, _linesPS, _mapPS, _nilPS, _nullPS, _packCBytes, _packCString, _packString, _psToByteArray, _putPS, _reversePS, _spanPS, _splitAtPS, _substrPS, _tailPS, _takePS, _takeWhilePS, _unpackPS, _wordsPS)
+import PreludePrimIO(_MVar)
+import PreludeRatio((%), Ratio(..), approxRational, denominator, numerator)
+import PreludeReadTextIO(getChar, hGetChar, hGetContents, hLookAhead, hReady, readFile13) renaming (readFile13 to readFile)
+import PreludeStdIO(BufferMode, IOMode, Maybe, SeekMode, _Handle, hClose, hFileSize, hFlush, hGetPosn, hIsBlockBuffered, hIsClosed, hIsEOF, hIsLineBuffered, hIsNotBuffered, hIsOpen, hIsReadable, hIsSeekable, hIsWritable, hSeek, hSetBuffering, hSetPosn, isEOF, openFile, stderr13, stdin13, stdout13) renaming (stderr13 to stderr, stdin13 to stdin, stdout13 to stdout)
+import PreludeText(_readRational, _showDigit, _showHex, _showRadix, lex, read, readDec, readFloat, readLitChar, readParen, readSigned, reads, show, showChar, showFloat, showInt, showLitChar, showParen, showSigned, showSpace__, showString, shows)
+import PreludeWriteTextIO(appendFile13, hPutChar, hPutStr, hPutText, print13, putChar, putStr, putText, writeFile13) renaming (appendFile13 to appendFile, print13 to print, writeFile13 to writeFile)
+import Stdio(_FILE)
+infixr 1 >>
+infixr 1 >>=
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+curry :: ((a, b) -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 6 _/\_ u0 u1 u2 -> \ (u3 :: (u0, u1) -> u2) (u4 :: u0) (u5 :: u1) -> let {(u6 :: (u0, u1)) = _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ u3 [ u6 ] _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: Ratio Integer -> u1) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ uf ] _N_} _F_ _IF_ARGS_ 2 3 CCX 8 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Fractional u1}}) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_4 (ug :: {{Num u1}}) (uh :: u1 -> u1 -> u1) (ui :: u1 -> u1) (uj :: Ratio Integer -> u1) -> _APP_ uj [ uf ]; _NO_DEFLT_ } _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+ioToPrimIO :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+primIOToIO :: (_State _RealWorld -> (a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+thenMaybe :: Maybe a -> (a -> Maybe b) -> Maybe b
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 5 _/\_ u0 u1 -> \ (u2 :: Maybe u0) (u3 :: u0 -> Maybe u1) -> case u2 of { _ALG_ Nothing -> _!_ Nothing [u1] []; Just (u4 :: u0) -> _APP_ u3 [ u4 ]; _NO_DEFLT_ } _N_ #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+uncurry :: (a -> b -> c) -> (a, b) -> c
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u4, u5 ] _N_} _F_ _IF_ARGS_ 3 2 XC 4 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: (u0, u1)) -> case u4 of { _ALG_ _TUP_2 (u5 :: u0) (u6 :: u1) -> _APP_ u3 [ u5, u6 ]; _NO_DEFLT_ } _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+interact :: ([Char] -> [Char]) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readFile :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendFile :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Prel13_mp.hi b/ghc/lib/prelude/Prel13_mp.hi
new file mode 100644
index 0000000000..d646851610
--- /dev/null
+++ b/ghc/lib/prelude/Prel13_mp.hi
@@ -0,0 +1,509 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeArray((!), (//), Array, Assoc, _ByteArray, accum, accumArray, amap, array, assocs, bounds, elems, indices, ixmap, listArray)
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7, _Addr(..), _RealWorld(..), _State(..))
+import PreludeComplex(Complex, cis, conjugate, imagPart, magnitude, mkPolar, phase, polar, realPart)
+import PreludeCore(Bool(..), Eq(..), Fractional(..), Integral(..), Ix(..), Num(..), Ord(..), Real(..), RealFloat(..), RealFrac(..), Text(..), _ceiling, _floor, _readList, _round, _showList, _showRational, _truncate)
+import PreludeIO(interact13) renaming (interact13 to interact)
+import PreludeIOError(IOError13)
+import PreludeList((!!), (++), (\\), all, and, any, break, concat, cycle, drop, dropWhile, elem, filter, foldl1, foldr1, genericLength, head, init, iterate, last, length, lines, map, maximum, minimum, notElem, nub, null, or, partition, product, products, repeat, reverse, scanl, scanl1, scanr, scanr1, span, splitAt, sum, sums, tail, take, takeWhile, transpose, unlines, unwords, unzip, unzip3, unzip4, unzip5, unzip6, unzip7, words, zip, zip3, zip4, zip5, zip6, zip7, zipWith, zipWith3, zipWith4, zipWith5, zipWith6, zipWith7)
+import PreludeMonadicIO((>>), (>>=), Either, accumulate, either, fail, failWith, handle, return, sequence, try)
+import PreludePS(_PackedString, _appendPS, _breakPS, _byteArrayToPS, _concatPS, _consPS, _dropPS, _dropWhilePS, _filterPS, _foldlPS, _foldrPS, _headPS, _indexPS, _lengthPS, _linesPS, _mapPS, _nilPS, _nullPS, _packCBytes, _packCString, _packString, _psToByteArray, _putPS, _reversePS, _spanPS, _splitAtPS, _substrPS, _tailPS, _takePS, _takeWhilePS, _unpackPS, _wordsPS)
+import PreludePrimIO(_MVar)
+import PreludeRatio((%), Ratio(..), approxRational, denominator, numerator)
+import PreludeReadTextIO(getChar, hGetChar, hGetContents, hLookAhead, hReady, readFile13) renaming (readFile13 to readFile)
+import PreludeStdIO(BufferMode, IOMode, Maybe, SeekMode, _Handle, hClose, hFileSize, hFlush, hGetPosn, hIsBlockBuffered, hIsClosed, hIsEOF, hIsLineBuffered, hIsNotBuffered, hIsOpen, hIsReadable, hIsSeekable, hIsWritable, hSeek, hSetBuffering, hSetPosn, isEOF, openFile, stderr13, stdin13, stdout13) renaming (stderr13 to stderr, stdin13 to stdin, stdout13 to stdout)
+import PreludeText(_readRational, _showDigit, _showHex, _showRadix, lex, read, readDec, readFloat, readLitChar, readParen, readSigned, reads, show, showChar, showFloat, showInt, showLitChar, showParen, showSigned, showSpace__, showString, shows)
+import PreludeWriteTextIO(appendFile13, hPutChar, hPutStr, hPutText, print13, putChar, putStr, putText, writeFile13) renaming (appendFile13 to appendFile, print13 to print, writeFile13 to writeFile)
+import Stdio(_FILE)
+infixr 1 >>
+infixr 1 >>=
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+curry :: ((a, b) -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 6 _/\_ u0 u1 u2 -> \ (u3 :: (u0, u1) -> u2) (u4 :: u0) (u5 :: u1) -> let {(u6 :: (u0, u1)) = _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ u3 [ u6 ] _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: Ratio Integer -> u1) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ uf ] _N_} _F_ _IF_ARGS_ 2 3 CCX 8 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Fractional u1}}) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_4 (ug :: {{Num u1}}) (uh :: u1 -> u1 -> u1) (ui :: u1 -> u1) (uj :: Ratio Integer -> u1) -> _APP_ uj [ uf ]; _NO_DEFLT_ } _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+ioToPrimIO :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+primIOToIO :: (_State _RealWorld -> (a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+thenMaybe :: Maybe a -> (a -> Maybe b) -> Maybe b
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 5 _/\_ u0 u1 -> \ (u2 :: Maybe u0) (u3 :: u0 -> Maybe u1) -> case u2 of { _ALG_ Nothing -> _!_ Nothing [u1] []; Just (u4 :: u0) -> _APP_ u3 [ u4 ]; _NO_DEFLT_ } _N_ #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+uncurry :: (a -> b -> c) -> (a, b) -> c
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u4, u5 ] _N_} _F_ _IF_ARGS_ 3 2 XC 4 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: (u0, u1)) -> case u4 of { _ALG_ _TUP_2 (u5 :: u0) (u6 :: u1) -> _APP_ u3 [ u5, u6 ]; _NO_DEFLT_ } _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+interact :: ([Char] -> [Char]) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readFile :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendFile :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Prel13_mr.hi b/ghc/lib/prelude/Prel13_mr.hi
new file mode 100644
index 0000000000..d646851610
--- /dev/null
+++ b/ghc/lib/prelude/Prel13_mr.hi
@@ -0,0 +1,509 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeArray((!), (//), Array, Assoc, _ByteArray, accum, accumArray, amap, array, assocs, bounds, elems, indices, ixmap, listArray)
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7, _Addr(..), _RealWorld(..), _State(..))
+import PreludeComplex(Complex, cis, conjugate, imagPart, magnitude, mkPolar, phase, polar, realPart)
+import PreludeCore(Bool(..), Eq(..), Fractional(..), Integral(..), Ix(..), Num(..), Ord(..), Real(..), RealFloat(..), RealFrac(..), Text(..), _ceiling, _floor, _readList, _round, _showList, _showRational, _truncate)
+import PreludeIO(interact13) renaming (interact13 to interact)
+import PreludeIOError(IOError13)
+import PreludeList((!!), (++), (\\), all, and, any, break, concat, cycle, drop, dropWhile, elem, filter, foldl1, foldr1, genericLength, head, init, iterate, last, length, lines, map, maximum, minimum, notElem, nub, null, or, partition, product, products, repeat, reverse, scanl, scanl1, scanr, scanr1, span, splitAt, sum, sums, tail, take, takeWhile, transpose, unlines, unwords, unzip, unzip3, unzip4, unzip5, unzip6, unzip7, words, zip, zip3, zip4, zip5, zip6, zip7, zipWith, zipWith3, zipWith4, zipWith5, zipWith6, zipWith7)
+import PreludeMonadicIO((>>), (>>=), Either, accumulate, either, fail, failWith, handle, return, sequence, try)
+import PreludePS(_PackedString, _appendPS, _breakPS, _byteArrayToPS, _concatPS, _consPS, _dropPS, _dropWhilePS, _filterPS, _foldlPS, _foldrPS, _headPS, _indexPS, _lengthPS, _linesPS, _mapPS, _nilPS, _nullPS, _packCBytes, _packCString, _packString, _psToByteArray, _putPS, _reversePS, _spanPS, _splitAtPS, _substrPS, _tailPS, _takePS, _takeWhilePS, _unpackPS, _wordsPS)
+import PreludePrimIO(_MVar)
+import PreludeRatio((%), Ratio(..), approxRational, denominator, numerator)
+import PreludeReadTextIO(getChar, hGetChar, hGetContents, hLookAhead, hReady, readFile13) renaming (readFile13 to readFile)
+import PreludeStdIO(BufferMode, IOMode, Maybe, SeekMode, _Handle, hClose, hFileSize, hFlush, hGetPosn, hIsBlockBuffered, hIsClosed, hIsEOF, hIsLineBuffered, hIsNotBuffered, hIsOpen, hIsReadable, hIsSeekable, hIsWritable, hSeek, hSetBuffering, hSetPosn, isEOF, openFile, stderr13, stdin13, stdout13) renaming (stderr13 to stderr, stdin13 to stdin, stdout13 to stdout)
+import PreludeText(_readRational, _showDigit, _showHex, _showRadix, lex, read, readDec, readFloat, readLitChar, readParen, readSigned, reads, show, showChar, showFloat, showInt, showLitChar, showParen, showSigned, showSpace__, showString, shows)
+import PreludeWriteTextIO(appendFile13, hPutChar, hPutStr, hPutText, print13, putChar, putStr, putText, writeFile13) renaming (appendFile13 to appendFile, print13 to print, writeFile13 to writeFile)
+import Stdio(_FILE)
+infixr 1 >>
+infixr 1 >>=
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+curry :: ((a, b) -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 6 _/\_ u0 u1 u2 -> \ (u3 :: (u0, u1) -> u2) (u4 :: u0) (u5 :: u1) -> let {(u6 :: (u0, u1)) = _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ u3 [ u6 ] _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: Ratio Integer -> u1) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ uf ] _N_} _F_ _IF_ARGS_ 2 3 CCX 8 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Fractional u1}}) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_4 (ug :: {{Num u1}}) (uh :: u1 -> u1 -> u1) (ui :: u1 -> u1) (uj :: Ratio Integer -> u1) -> _APP_ uj [ uf ]; _NO_DEFLT_ } _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+ioToPrimIO :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+primIOToIO :: (_State _RealWorld -> (a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+thenMaybe :: Maybe a -> (a -> Maybe b) -> Maybe b
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 5 _/\_ u0 u1 -> \ (u2 :: Maybe u0) (u3 :: u0 -> Maybe u1) -> case u2 of { _ALG_ Nothing -> _!_ Nothing [u1] []; Just (u4 :: u0) -> _APP_ u3 [ u4 ]; _NO_DEFLT_ } _N_ #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+uncurry :: (a -> b -> c) -> (a, b) -> c
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u4, u5 ] _N_} _F_ _IF_ARGS_ 3 2 XC 4 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: (u0, u1)) -> case u4 of { _ALG_ _TUP_2 (u5 :: u0) (u6 :: u1) -> _APP_ u3 [ u5, u6 ]; _NO_DEFLT_ } _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+interact :: ([Char] -> [Char]) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readFile :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendFile :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Prel13_mt.hi b/ghc/lib/prelude/Prel13_mt.hi
new file mode 100644
index 0000000000..d646851610
--- /dev/null
+++ b/ghc/lib/prelude/Prel13_mt.hi
@@ -0,0 +1,509 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeArray((!), (//), Array, Assoc, _ByteArray, accum, accumArray, amap, array, assocs, bounds, elems, indices, ixmap, listArray)
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7, _Addr(..), _RealWorld(..), _State(..))
+import PreludeComplex(Complex, cis, conjugate, imagPart, magnitude, mkPolar, phase, polar, realPart)
+import PreludeCore(Bool(..), Eq(..), Fractional(..), Integral(..), Ix(..), Num(..), Ord(..), Real(..), RealFloat(..), RealFrac(..), Text(..), _ceiling, _floor, _readList, _round, _showList, _showRational, _truncate)
+import PreludeIO(interact13) renaming (interact13 to interact)
+import PreludeIOError(IOError13)
+import PreludeList((!!), (++), (\\), all, and, any, break, concat, cycle, drop, dropWhile, elem, filter, foldl1, foldr1, genericLength, head, init, iterate, last, length, lines, map, maximum, minimum, notElem, nub, null, or, partition, product, products, repeat, reverse, scanl, scanl1, scanr, scanr1, span, splitAt, sum, sums, tail, take, takeWhile, transpose, unlines, unwords, unzip, unzip3, unzip4, unzip5, unzip6, unzip7, words, zip, zip3, zip4, zip5, zip6, zip7, zipWith, zipWith3, zipWith4, zipWith5, zipWith6, zipWith7)
+import PreludeMonadicIO((>>), (>>=), Either, accumulate, either, fail, failWith, handle, return, sequence, try)
+import PreludePS(_PackedString, _appendPS, _breakPS, _byteArrayToPS, _concatPS, _consPS, _dropPS, _dropWhilePS, _filterPS, _foldlPS, _foldrPS, _headPS, _indexPS, _lengthPS, _linesPS, _mapPS, _nilPS, _nullPS, _packCBytes, _packCString, _packString, _psToByteArray, _putPS, _reversePS, _spanPS, _splitAtPS, _substrPS, _tailPS, _takePS, _takeWhilePS, _unpackPS, _wordsPS)
+import PreludePrimIO(_MVar)
+import PreludeRatio((%), Ratio(..), approxRational, denominator, numerator)
+import PreludeReadTextIO(getChar, hGetChar, hGetContents, hLookAhead, hReady, readFile13) renaming (readFile13 to readFile)
+import PreludeStdIO(BufferMode, IOMode, Maybe, SeekMode, _Handle, hClose, hFileSize, hFlush, hGetPosn, hIsBlockBuffered, hIsClosed, hIsEOF, hIsLineBuffered, hIsNotBuffered, hIsOpen, hIsReadable, hIsSeekable, hIsWritable, hSeek, hSetBuffering, hSetPosn, isEOF, openFile, stderr13, stdin13, stdout13) renaming (stderr13 to stderr, stdin13 to stdin, stdout13 to stdout)
+import PreludeText(_readRational, _showDigit, _showHex, _showRadix, lex, read, readDec, readFloat, readLitChar, readParen, readSigned, reads, show, showChar, showFloat, showInt, showLitChar, showParen, showSigned, showSpace__, showString, shows)
+import PreludeWriteTextIO(appendFile13, hPutChar, hPutStr, hPutText, print13, putChar, putStr, putText, writeFile13) renaming (appendFile13 to appendFile, print13 to print, writeFile13 to writeFile)
+import Stdio(_FILE)
+infixr 1 >>
+infixr 1 >>=
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+curry :: ((a, b) -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 6 _/\_ u0 u1 u2 -> \ (u3 :: (u0, u1) -> u2) (u4 :: u0) (u5 :: u1) -> let {(u6 :: (u0, u1)) = _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ u3 [ u6 ] _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: Ratio Integer -> u1) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ uf ] _N_} _F_ _IF_ARGS_ 2 3 CCX 8 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Fractional u1}}) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_4 (ug :: {{Num u1}}) (uh :: u1 -> u1 -> u1) (ui :: u1 -> u1) (uj :: Ratio Integer -> u1) -> _APP_ uj [ uf ]; _NO_DEFLT_ } _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+ioToPrimIO :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+primIOToIO :: (_State _RealWorld -> (a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+thenMaybe :: Maybe a -> (a -> Maybe b) -> Maybe b
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 5 _/\_ u0 u1 -> \ (u2 :: Maybe u0) (u3 :: u0 -> Maybe u1) -> case u2 of { _ALG_ Nothing -> _!_ Nothing [u1] []; Just (u4 :: u0) -> _APP_ u3 [ u4 ]; _NO_DEFLT_ } _N_ #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+uncurry :: (a -> b -> c) -> (a, b) -> c
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u4, u5 ] _N_} _F_ _IF_ARGS_ 3 2 XC 4 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: (u0, u1)) -> case u4 of { _ALG_ _TUP_2 (u5 :: u0) (u6 :: u1) -> _APP_ u3 [ u5, u6 ]; _NO_DEFLT_ } _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+interact :: ([Char] -> [Char]) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readFile :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendFile :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Prel13_p.hi b/ghc/lib/prelude/Prel13_p.hi
new file mode 100644
index 0000000000..bbb6828ab0
--- /dev/null
+++ b/ghc/lib/prelude/Prel13_p.hi
@@ -0,0 +1,509 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeArray((!), (//), Array, Assoc, _ByteArray, accum, accumArray, amap, array, assocs, bounds, elems, indices, ixmap, listArray)
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7, _Addr(..), _RealWorld(..), _State(..))
+import PreludeComplex(Complex, cis, conjugate, imagPart, magnitude, mkPolar, phase, polar, realPart)
+import PreludeCore(Bool(..), Eq(..), Fractional(..), Integral(..), Ix(..), Num(..), Ord(..), Real(..), RealFloat(..), RealFrac(..), Text(..), _ceiling, _floor, _readList, _round, _showList, _showRational, _truncate)
+import PreludeIO(interact13) renaming (interact13 to interact)
+import PreludeIOError(IOError13)
+import PreludeList((!!), (++), (\\), all, and, any, break, concat, cycle, drop, dropWhile, elem, filter, foldl1, foldr1, genericLength, head, init, iterate, last, length, lines, map, maximum, minimum, notElem, nub, null, or, partition, product, products, repeat, reverse, scanl, scanl1, scanr, scanr1, span, splitAt, sum, sums, tail, take, takeWhile, transpose, unlines, unwords, unzip, unzip3, unzip4, unzip5, unzip6, unzip7, words, zip, zip3, zip4, zip5, zip6, zip7, zipWith, zipWith3, zipWith4, zipWith5, zipWith6, zipWith7)
+import PreludeMonadicIO((>>), (>>=), Either, accumulate, either, fail, failWith, handle, return, sequence, try)
+import PreludePS(_PackedString, _appendPS, _breakPS, _byteArrayToPS, _concatPS, _consPS, _dropPS, _dropWhilePS, _filterPS, _foldlPS, _foldrPS, _headPS, _indexPS, _lengthPS, _linesPS, _mapPS, _nilPS, _nullPS, _packCBytes, _packCString, _packString, _psToByteArray, _putPS, _reversePS, _spanPS, _splitAtPS, _substrPS, _tailPS, _takePS, _takeWhilePS, _unpackPS, _wordsPS)
+import PreludePrimIO(_MVar)
+import PreludeRatio((%), Ratio(..), approxRational, denominator, numerator)
+import PreludeReadTextIO(getChar, hGetChar, hGetContents, hLookAhead, hReady, readFile13) renaming (readFile13 to readFile)
+import PreludeStdIO(BufferMode, IOMode, Maybe, SeekMode, _Handle, hClose, hFileSize, hFlush, hGetPosn, hIsBlockBuffered, hIsClosed, hIsEOF, hIsLineBuffered, hIsNotBuffered, hIsOpen, hIsReadable, hIsSeekable, hIsWritable, hSeek, hSetBuffering, hSetPosn, isEOF, openFile, stderr13, stdin13, stdout13) renaming (stderr13 to stderr, stdin13 to stdin, stdout13 to stdout)
+import PreludeText(_readRational, _showDigit, _showHex, _showRadix, lex, read, readDec, readFloat, readLitChar, readParen, readSigned, reads, show, showChar, showFloat, showInt, showLitChar, showParen, showSigned, showSpace__, showString, shows)
+import PreludeWriteTextIO(appendFile13, hPutChar, hPutStr, hPutText, print13, putChar, putStr, putText, writeFile13) renaming (appendFile13 to appendFile, print13 to print, writeFile13 to writeFile)
+import Stdio(_FILE)
+infixr 1 >>
+infixr 1 >>=
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+curry :: ((a, b) -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 6 _/\_ u0 u1 u2 -> \ (u3 :: (u0, u1) -> u2) (u4 :: u0) (u5 :: u1) -> let {(u6 :: (u0, u1)) = _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ u3 [ u6 ] _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+ioToPrimIO :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+primIOToIO :: (_State _RealWorld -> (a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+thenMaybe :: Maybe a -> (a -> Maybe b) -> Maybe b
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 5 _/\_ u0 u1 -> \ (u2 :: Maybe u0) (u3 :: u0 -> Maybe u1) -> case u2 of { _ALG_ Nothing -> _!_ Nothing [u1] []; Just (u4 :: u0) -> _APP_ u3 [ u4 ]; _NO_DEFLT_ } _N_ #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+uncurry :: (a -> b -> c) -> (a, b) -> c
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u4, u5 ] _N_} _F_ _IF_ARGS_ 3 2 XC 4 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: (u0, u1)) -> case u4 of { _ALG_ _TUP_2 (u5 :: u0) (u6 :: u1) -> _APP_ u3 [ u5, u6 ]; _NO_DEFLT_ } _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+interact :: ([Char] -> [Char]) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readFile :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 222 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendFile :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Prel13_t.hi b/ghc/lib/prelude/Prel13_t.hi
new file mode 100644
index 0000000000..d646851610
--- /dev/null
+++ b/ghc/lib/prelude/Prel13_t.hi
@@ -0,0 +1,509 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeArray((!), (//), Array, Assoc, _ByteArray, accum, accumArray, amap, array, assocs, bounds, elems, indices, ixmap, listArray)
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7, _Addr(..), _RealWorld(..), _State(..))
+import PreludeComplex(Complex, cis, conjugate, imagPart, magnitude, mkPolar, phase, polar, realPart)
+import PreludeCore(Bool(..), Eq(..), Fractional(..), Integral(..), Ix(..), Num(..), Ord(..), Real(..), RealFloat(..), RealFrac(..), Text(..), _ceiling, _floor, _readList, _round, _showList, _showRational, _truncate)
+import PreludeIO(interact13) renaming (interact13 to interact)
+import PreludeIOError(IOError13)
+import PreludeList((!!), (++), (\\), all, and, any, break, concat, cycle, drop, dropWhile, elem, filter, foldl1, foldr1, genericLength, head, init, iterate, last, length, lines, map, maximum, minimum, notElem, nub, null, or, partition, product, products, repeat, reverse, scanl, scanl1, scanr, scanr1, span, splitAt, sum, sums, tail, take, takeWhile, transpose, unlines, unwords, unzip, unzip3, unzip4, unzip5, unzip6, unzip7, words, zip, zip3, zip4, zip5, zip6, zip7, zipWith, zipWith3, zipWith4, zipWith5, zipWith6, zipWith7)
+import PreludeMonadicIO((>>), (>>=), Either, accumulate, either, fail, failWith, handle, return, sequence, try)
+import PreludePS(_PackedString, _appendPS, _breakPS, _byteArrayToPS, _concatPS, _consPS, _dropPS, _dropWhilePS, _filterPS, _foldlPS, _foldrPS, _headPS, _indexPS, _lengthPS, _linesPS, _mapPS, _nilPS, _nullPS, _packCBytes, _packCString, _packString, _psToByteArray, _putPS, _reversePS, _spanPS, _splitAtPS, _substrPS, _tailPS, _takePS, _takeWhilePS, _unpackPS, _wordsPS)
+import PreludePrimIO(_MVar)
+import PreludeRatio((%), Ratio(..), approxRational, denominator, numerator)
+import PreludeReadTextIO(getChar, hGetChar, hGetContents, hLookAhead, hReady, readFile13) renaming (readFile13 to readFile)
+import PreludeStdIO(BufferMode, IOMode, Maybe, SeekMode, _Handle, hClose, hFileSize, hFlush, hGetPosn, hIsBlockBuffered, hIsClosed, hIsEOF, hIsLineBuffered, hIsNotBuffered, hIsOpen, hIsReadable, hIsSeekable, hIsWritable, hSeek, hSetBuffering, hSetPosn, isEOF, openFile, stderr13, stdin13, stdout13) renaming (stderr13 to stderr, stdin13 to stdin, stdout13 to stdout)
+import PreludeText(_readRational, _showDigit, _showHex, _showRadix, lex, read, readDec, readFloat, readLitChar, readParen, readSigned, reads, show, showChar, showFloat, showInt, showLitChar, showParen, showSigned, showSpace__, showString, shows)
+import PreludeWriteTextIO(appendFile13, hPutChar, hPutStr, hPutText, print13, putChar, putStr, putText, writeFile13) renaming (appendFile13 to appendFile, print13 to print, writeFile13 to writeFile)
+import Stdio(_FILE)
+infixr 1 >>
+infixr 1 >>=
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+curry :: ((a, b) -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 6 _/\_ u0 u1 u2 -> \ (u3 :: (u0, u1) -> u2) (u4 :: u0) (u5 :: u1) -> let {(u6 :: (u0, u1)) = _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ u3 [ u6 ] _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: Ratio Integer -> u1) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ uf ] _N_} _F_ _IF_ARGS_ 2 3 CCX 8 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Fractional u1}}) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_4 (ug :: {{Num u1}}) (uh :: u1 -> u1 -> u1) (ui :: u1 -> u1) (uj :: Ratio Integer -> u1) -> _APP_ uj [ uf ]; _NO_DEFLT_ } _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+ioToPrimIO :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+primIOToIO :: (_State _RealWorld -> (a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+thenMaybe :: Maybe a -> (a -> Maybe b) -> Maybe b
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 5 _/\_ u0 u1 -> \ (u2 :: Maybe u0) (u3 :: u0 -> Maybe u1) -> case u2 of { _ALG_ Nothing -> _!_ Nothing [u1] []; Just (u4 :: u0) -> _APP_ u3 [ u4 ]; _NO_DEFLT_ } _N_ #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+uncurry :: (a -> b -> c) -> (a, b) -> c
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u4, u5 ] _N_} _F_ _IF_ARGS_ 3 2 XC 4 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: (u0, u1)) -> case u4 of { _ALG_ _TUP_2 (u5 :: u0) (u6 :: u1) -> _APP_ u3 [ u5, u6 ]; _NO_DEFLT_ } _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+interact :: ([Char] -> [Char]) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readFile :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendFile :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PrelCore13.hi b/ghc/lib/prelude/PrelCore13.hi
new file mode 100644
index 0000000000..0116c44923
--- /dev/null
+++ b/ghc/lib/prelude/PrelCore13.hi
@@ -0,0 +1,994 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeArray(Array, Assoc(..), _ByteArray)
+import PreludeBuiltin(Bin, Char(..), Double(..), Float(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, _Addr(..), _CMP_TAG(..), _RealWorld(..), _State(..), _Word(..))
+import PreludeComplex(Complex(..))
+import PreludeGlaMisc(_MallocPtr(..), _StablePtr(..))
+import PreludeGlaST(_MutableArray, _MutableByteArray)
+import PreludeIOError(IOError13(..))
+import PreludeMonadicIO(Either(..), IO(..))
+import PreludePS(_PackedString)
+import PreludePrimIO(_MVar)
+import PreludeRatio(Ratio(..))
+import PreludeStdIO(BufferMode(..), FilePath(..), Handle(..), HandlePosn(..), IOMode(..), Maybe(..), SeekMode(..), _Handle)
+import PreludeText(ReadS(..), ShowS(..))
+import Stdio(_FILE)
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "SLLL" _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "S" _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b = (:=) a b
+data _ByteArray a {-# GHC_PRAGMA _ByteArray (a, a) ByteArray# #-}
+data Bin
+data Complex a = (:+) a a
+data _MutableArray a b c {-# GHC_PRAGMA _MutableArray (b, b) (MutableArray# a c) #-}
+data _MutableByteArray a b {-# GHC_PRAGMA _MutableByteArray (b, b) (MutableByteArray# a) #-}
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle {-# GHC_PRAGMA _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool #-}
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_MutableByteArray a b)
+ {-# GHC_PRAGMA _M_ PreludeGlaST {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 2 0 X 1 _/\_ u0 u1 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/PrelCore13.hs b/ghc/lib/prelude/PrelCore13.hs
new file mode 100644
index 0000000000..01bf9a7b82
--- /dev/null
+++ b/ghc/lib/prelude/PrelCore13.hs
@@ -0,0 +1,69 @@
+-- proto Haskell 1.3 version
+--
+module PreludeCore (
+
+ Eq(..), Ord(..), Num(..), Real(..), Integral(..),
+ Fractional(..), Floating(..), RealFrac(..), RealFloat(..),
+ Ix(..), Enum(..), Text(..), Binary(..),
+ _CCallable(..), _CReturnable(..),
+
+ -- NO: really builtin (0.20+): trace,
+
+ Array{-abstract-},
+ Assoc(..), -- *should* have disappeared: ToDo: LATER
+ _ByteArray, _MutableArray, _MutableByteArray,
+ -- if you want the types *unabstractly*, import PreludeGlaST
+
+ Bin{-abstract-},
+
+ Complex(..),
+
+ _PackedString{-abstract-}, _FILE,
+
+ ReadS(..), ShowS(..),
+
+ -- 1.3 I/O stuff from PreludeIO, some *renamed*
+ IOError13(..), -- ToDo: rename
+ Either(..),
+ BufferMode(..),
+ IOMode(..),
+ SeekMode(..),
+ Maybe(..),
+ FilePath(..),
+ Handle(..),
+ HandlePosn(..),
+ IO(..),
+ _Handle,
+ _MVar
+
+ ) where
+
+-- few *Ty(s) imports
+import UTypes ( Bin ) -- no data constructors, please!
+import TyArray ( Array(..), Assoc(..), _ByteArray )
+import TyComplex ( Complex(..) )
+--import Builtin ( trace )
+import Cls hiding ( String )
+import Core
+import PS
+import PreludeGlaST ( _MutableByteArray, _MutableArray )
+import IArray
+import IBool
+import IChar
+import IComplex
+import IDouble
+import IFloat
+import IInt
+import IInteger
+import IList
+import IRatio
+import ITup0
+import ITup2
+import ITup3
+import ITup4
+import ITup5
+import List
+import Prel
+import Text
+
+import PreludeIO -- renaming ( IOError13 to IOError ) -- can't rename PreludeCore types
diff --git a/ghc/lib/prelude/PrelCore13_mc.hi b/ghc/lib/prelude/PrelCore13_mc.hi
new file mode 100644
index 0000000000..0116c44923
--- /dev/null
+++ b/ghc/lib/prelude/PrelCore13_mc.hi
@@ -0,0 +1,994 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeArray(Array, Assoc(..), _ByteArray)
+import PreludeBuiltin(Bin, Char(..), Double(..), Float(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, _Addr(..), _CMP_TAG(..), _RealWorld(..), _State(..), _Word(..))
+import PreludeComplex(Complex(..))
+import PreludeGlaMisc(_MallocPtr(..), _StablePtr(..))
+import PreludeGlaST(_MutableArray, _MutableByteArray)
+import PreludeIOError(IOError13(..))
+import PreludeMonadicIO(Either(..), IO(..))
+import PreludePS(_PackedString)
+import PreludePrimIO(_MVar)
+import PreludeRatio(Ratio(..))
+import PreludeStdIO(BufferMode(..), FilePath(..), Handle(..), HandlePosn(..), IOMode(..), Maybe(..), SeekMode(..), _Handle)
+import PreludeText(ReadS(..), ShowS(..))
+import Stdio(_FILE)
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "SLLL" _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "S" _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b = (:=) a b
+data _ByteArray a {-# GHC_PRAGMA _ByteArray (a, a) ByteArray# #-}
+data Bin
+data Complex a = (:+) a a
+data _MutableArray a b c {-# GHC_PRAGMA _MutableArray (b, b) (MutableArray# a c) #-}
+data _MutableByteArray a b {-# GHC_PRAGMA _MutableByteArray (b, b) (MutableByteArray# a) #-}
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle {-# GHC_PRAGMA _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool #-}
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_MutableByteArray a b)
+ {-# GHC_PRAGMA _M_ PreludeGlaST {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 2 0 X 1 _/\_ u0 u1 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/PrelCore13_mg.hi b/ghc/lib/prelude/PrelCore13_mg.hi
new file mode 100644
index 0000000000..0116c44923
--- /dev/null
+++ b/ghc/lib/prelude/PrelCore13_mg.hi
@@ -0,0 +1,994 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeArray(Array, Assoc(..), _ByteArray)
+import PreludeBuiltin(Bin, Char(..), Double(..), Float(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, _Addr(..), _CMP_TAG(..), _RealWorld(..), _State(..), _Word(..))
+import PreludeComplex(Complex(..))
+import PreludeGlaMisc(_MallocPtr(..), _StablePtr(..))
+import PreludeGlaST(_MutableArray, _MutableByteArray)
+import PreludeIOError(IOError13(..))
+import PreludeMonadicIO(Either(..), IO(..))
+import PreludePS(_PackedString)
+import PreludePrimIO(_MVar)
+import PreludeRatio(Ratio(..))
+import PreludeStdIO(BufferMode(..), FilePath(..), Handle(..), HandlePosn(..), IOMode(..), Maybe(..), SeekMode(..), _Handle)
+import PreludeText(ReadS(..), ShowS(..))
+import Stdio(_FILE)
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "SLLL" _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "S" _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b = (:=) a b
+data _ByteArray a {-# GHC_PRAGMA _ByteArray (a, a) ByteArray# #-}
+data Bin
+data Complex a = (:+) a a
+data _MutableArray a b c {-# GHC_PRAGMA _MutableArray (b, b) (MutableArray# a c) #-}
+data _MutableByteArray a b {-# GHC_PRAGMA _MutableByteArray (b, b) (MutableByteArray# a) #-}
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle {-# GHC_PRAGMA _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool #-}
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_MutableByteArray a b)
+ {-# GHC_PRAGMA _M_ PreludeGlaST {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 2 0 X 1 _/\_ u0 u1 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/PrelCore13_mp.hi b/ghc/lib/prelude/PrelCore13_mp.hi
new file mode 100644
index 0000000000..0109c89244
--- /dev/null
+++ b/ghc/lib/prelude/PrelCore13_mp.hi
@@ -0,0 +1,990 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeArray(Array, Assoc(..), _ByteArray)
+import PreludeBuiltin(Bin, Char(..), Double(..), Float(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, _Addr(..), _CMP_TAG(..), _RealWorld(..), _State(..), _Word(..))
+import PreludeComplex(Complex(..))
+import PreludeGlaMisc(_MallocPtr(..))
+import PreludeGlaST(_MutableArray, _MutableByteArray)
+import PreludeIOError(IOError13(..))
+import PreludeMonadicIO(Either(..), IO(..))
+import PreludePS(_PackedString)
+import PreludePrimIO(_MVar)
+import PreludeRatio(Ratio(..))
+import PreludeStdIO(BufferMode(..), FilePath(..), Handle(..), HandlePosn(..), IOMode(..), Maybe(..), SeekMode(..), _Handle)
+import PreludeText(ReadS(..), ShowS(..))
+import Stdio(_FILE)
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "SLLL" _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "S" _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b = (:=) a b
+data _ByteArray a {-# GHC_PRAGMA _ByteArray (a, a) ByteArray# #-}
+data Bin
+data Complex a = (:+) a a
+data _MutableArray a b c {-# GHC_PRAGMA _MutableArray (b, b) (MutableArray# a c) #-}
+data _MutableByteArray a b {-# GHC_PRAGMA _MutableByteArray (b, b) (MutableByteArray# a) #-}
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle {-# GHC_PRAGMA _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool #-}
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_MutableByteArray a b)
+ {-# GHC_PRAGMA _M_ PreludeGlaST {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 2 0 X 1 _/\_ u0 u1 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/PrelCore13_mr.hi b/ghc/lib/prelude/PrelCore13_mr.hi
new file mode 100644
index 0000000000..0116c44923
--- /dev/null
+++ b/ghc/lib/prelude/PrelCore13_mr.hi
@@ -0,0 +1,994 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeArray(Array, Assoc(..), _ByteArray)
+import PreludeBuiltin(Bin, Char(..), Double(..), Float(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, _Addr(..), _CMP_TAG(..), _RealWorld(..), _State(..), _Word(..))
+import PreludeComplex(Complex(..))
+import PreludeGlaMisc(_MallocPtr(..), _StablePtr(..))
+import PreludeGlaST(_MutableArray, _MutableByteArray)
+import PreludeIOError(IOError13(..))
+import PreludeMonadicIO(Either(..), IO(..))
+import PreludePS(_PackedString)
+import PreludePrimIO(_MVar)
+import PreludeRatio(Ratio(..))
+import PreludeStdIO(BufferMode(..), FilePath(..), Handle(..), HandlePosn(..), IOMode(..), Maybe(..), SeekMode(..), _Handle)
+import PreludeText(ReadS(..), ShowS(..))
+import Stdio(_FILE)
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "SLLL" _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "S" _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b = (:=) a b
+data _ByteArray a {-# GHC_PRAGMA _ByteArray (a, a) ByteArray# #-}
+data Bin
+data Complex a = (:+) a a
+data _MutableArray a b c {-# GHC_PRAGMA _MutableArray (b, b) (MutableArray# a c) #-}
+data _MutableByteArray a b {-# GHC_PRAGMA _MutableByteArray (b, b) (MutableByteArray# a) #-}
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle {-# GHC_PRAGMA _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool #-}
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_MutableByteArray a b)
+ {-# GHC_PRAGMA _M_ PreludeGlaST {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 2 0 X 1 _/\_ u0 u1 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/PrelCore13_mt.hi b/ghc/lib/prelude/PrelCore13_mt.hi
new file mode 100644
index 0000000000..0116c44923
--- /dev/null
+++ b/ghc/lib/prelude/PrelCore13_mt.hi
@@ -0,0 +1,994 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeArray(Array, Assoc(..), _ByteArray)
+import PreludeBuiltin(Bin, Char(..), Double(..), Float(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, _Addr(..), _CMP_TAG(..), _RealWorld(..), _State(..), _Word(..))
+import PreludeComplex(Complex(..))
+import PreludeGlaMisc(_MallocPtr(..), _StablePtr(..))
+import PreludeGlaST(_MutableArray, _MutableByteArray)
+import PreludeIOError(IOError13(..))
+import PreludeMonadicIO(Either(..), IO(..))
+import PreludePS(_PackedString)
+import PreludePrimIO(_MVar)
+import PreludeRatio(Ratio(..))
+import PreludeStdIO(BufferMode(..), FilePath(..), Handle(..), HandlePosn(..), IOMode(..), Maybe(..), SeekMode(..), _Handle)
+import PreludeText(ReadS(..), ShowS(..))
+import Stdio(_FILE)
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "SLLL" _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "S" _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b = (:=) a b
+data _ByteArray a {-# GHC_PRAGMA _ByteArray (a, a) ByteArray# #-}
+data Bin
+data Complex a = (:+) a a
+data _MutableArray a b c {-# GHC_PRAGMA _MutableArray (b, b) (MutableArray# a c) #-}
+data _MutableByteArray a b {-# GHC_PRAGMA _MutableByteArray (b, b) (MutableByteArray# a) #-}
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle {-# GHC_PRAGMA _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool #-}
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_MutableByteArray a b)
+ {-# GHC_PRAGMA _M_ PreludeGlaST {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 2 0 X 1 _/\_ u0 u1 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/PrelCore13_p.hi b/ghc/lib/prelude/PrelCore13_p.hi
new file mode 100644
index 0000000000..0116c44923
--- /dev/null
+++ b/ghc/lib/prelude/PrelCore13_p.hi
@@ -0,0 +1,994 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeArray(Array, Assoc(..), _ByteArray)
+import PreludeBuiltin(Bin, Char(..), Double(..), Float(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, _Addr(..), _CMP_TAG(..), _RealWorld(..), _State(..), _Word(..))
+import PreludeComplex(Complex(..))
+import PreludeGlaMisc(_MallocPtr(..), _StablePtr(..))
+import PreludeGlaST(_MutableArray, _MutableByteArray)
+import PreludeIOError(IOError13(..))
+import PreludeMonadicIO(Either(..), IO(..))
+import PreludePS(_PackedString)
+import PreludePrimIO(_MVar)
+import PreludeRatio(Ratio(..))
+import PreludeStdIO(BufferMode(..), FilePath(..), Handle(..), HandlePosn(..), IOMode(..), Maybe(..), SeekMode(..), _Handle)
+import PreludeText(ReadS(..), ShowS(..))
+import Stdio(_FILE)
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "SLLL" _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "S" _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b = (:=) a b
+data _ByteArray a {-# GHC_PRAGMA _ByteArray (a, a) ByteArray# #-}
+data Bin
+data Complex a = (:+) a a
+data _MutableArray a b c {-# GHC_PRAGMA _MutableArray (b, b) (MutableArray# a c) #-}
+data _MutableByteArray a b {-# GHC_PRAGMA _MutableByteArray (b, b) (MutableByteArray# a) #-}
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle {-# GHC_PRAGMA _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool #-}
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_MutableByteArray a b)
+ {-# GHC_PRAGMA _M_ PreludeGlaST {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 2 0 X 1 _/\_ u0 u1 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/PrelCore13_t.hi b/ghc/lib/prelude/PrelCore13_t.hi
new file mode 100644
index 0000000000..0116c44923
--- /dev/null
+++ b/ghc/lib/prelude/PrelCore13_t.hi
@@ -0,0 +1,994 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeArray(Array, Assoc(..), _ByteArray)
+import PreludeBuiltin(Bin, Char(..), Double(..), Float(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, _Addr(..), _CMP_TAG(..), _RealWorld(..), _State(..), _Word(..))
+import PreludeComplex(Complex(..))
+import PreludeGlaMisc(_MallocPtr(..), _StablePtr(..))
+import PreludeGlaST(_MutableArray, _MutableByteArray)
+import PreludeIOError(IOError13(..))
+import PreludeMonadicIO(Either(..), IO(..))
+import PreludePS(_PackedString)
+import PreludePrimIO(_MVar)
+import PreludeRatio(Ratio(..))
+import PreludeStdIO(BufferMode(..), FilePath(..), Handle(..), HandlePosn(..), IOMode(..), Maybe(..), SeekMode(..), _Handle)
+import PreludeText(ReadS(..), ShowS(..))
+import Stdio(_FILE)
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "SLLL" _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "S" _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b = (:=) a b
+data _ByteArray a {-# GHC_PRAGMA _ByteArray (a, a) ByteArray# #-}
+data Bin
+data Complex a = (:+) a a
+data _MutableArray a b c {-# GHC_PRAGMA _MutableArray (b, b) (MutableArray# a c) #-}
+data _MutableByteArray a b {-# GHC_PRAGMA _MutableByteArray (b, b) (MutableByteArray# a) #-}
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle {-# GHC_PRAGMA _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool #-}
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_MutableByteArray a b)
+ {-# GHC_PRAGMA _M_ PreludeGlaST {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 2 0 X 1 _/\_ u0 u1 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/PrelCoreHi.hs b/ghc/lib/prelude/PrelCoreHi.hs
new file mode 100644
index 0000000000..57a0962292
--- /dev/null
+++ b/ghc/lib/prelude/PrelCoreHi.hs
@@ -0,0 +1,57 @@
+-- compiled solely to produce an .hi file
+--
+module PreludeCore (
+
+ Eq(..), Ord(..), Num(..), Real(..), Integral(..),
+ Fractional(..), Floating(..), RealFrac(..), RealFloat(..),
+ Ix(..), Enum(..), Text(..), Binary(..),
+ _CCallable(..), _CReturnable(..),
+
+ -- NO: really builtin (0.20+): trace,
+
+ Array{-abstract-}, Assoc(..),
+ _ByteArray, _MutableArray, _MutableByteArray,
+ -- if you want the types *unabstractly*, import PreludeGlaST
+
+ Bin{-abstract-},
+
+ Complex(..),
+
+ _PackedString{-abstract-}, _FILE,
+
+ ReadS(..), ShowS(..),
+
+-- IOResult, -- has to be here because wired into compiler
+ Dialogue(..), Request(..), Response(..), SigAct(..), IOError(..),
+ SuccCont(..), StrCont(..), StrListCont(..), BinCont(..), FailCont(..)
+ ) where
+
+-- few *Ty(s) imports
+import UTypes ( Bin ) -- no data constructors, please!
+import TyArray ( Array(..), Assoc(..), _ByteArray )
+import TyComplex ( Complex(..) )
+import TyIO
+--import Builtin ( trace )
+import Cls hiding ( String )
+import Core
+import PS
+import PreludeGlaST ( _MutableByteArray, _MutableArray )
+import IArray
+import IBool
+import IChar
+import IComplex
+import IDouble
+import IFloat
+import IInt
+import IInteger
+import IList
+import IO
+import IRatio
+import ITup0
+import ITup2
+import ITup3
+import ITup4
+import ITup5
+import List
+import Prel
+import Text
diff --git a/ghc/lib/prelude/Prel_mc.hi b/ghc/lib/prelude/Prel_mc.hi
new file mode 100644
index 0000000000..392366b9e4
--- /dev/null
+++ b/ghc/lib/prelude/Prel_mc.hi
@@ -0,0 +1,87 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeBuiltin(Bin, Char(..), Int(..), Tuple2)
+import PreludeCore(Bool(..), Fractional(..), Integral(..), Num(..), RealFloat(..), RealFrac(..))
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: Ratio Integer -> u1) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ uf ] _N_} _F_ _IF_ARGS_ 2 3 CCX 8 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Fractional u1}}) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_4 (ug :: {{Num u1}}) (uh :: u1 -> u1 -> u1) (ui :: u1 -> u1) (uj :: Ratio Integer -> u1) -> _APP_ uj [ uf ]; _NO_DEFLT_ } _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+
diff --git a/ghc/lib/prelude/Prel_mg.hi b/ghc/lib/prelude/Prel_mg.hi
new file mode 100644
index 0000000000..392366b9e4
--- /dev/null
+++ b/ghc/lib/prelude/Prel_mg.hi
@@ -0,0 +1,87 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeBuiltin(Bin, Char(..), Int(..), Tuple2)
+import PreludeCore(Bool(..), Fractional(..), Integral(..), Num(..), RealFloat(..), RealFrac(..))
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: Ratio Integer -> u1) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ uf ] _N_} _F_ _IF_ARGS_ 2 3 CCX 8 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Fractional u1}}) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_4 (ug :: {{Num u1}}) (uh :: u1 -> u1 -> u1) (ui :: u1 -> u1) (uj :: Ratio Integer -> u1) -> _APP_ uj [ uf ]; _NO_DEFLT_ } _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+
diff --git a/ghc/lib/prelude/Prel_mp.hi b/ghc/lib/prelude/Prel_mp.hi
new file mode 100644
index 0000000000..392366b9e4
--- /dev/null
+++ b/ghc/lib/prelude/Prel_mp.hi
@@ -0,0 +1,87 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeBuiltin(Bin, Char(..), Int(..), Tuple2)
+import PreludeCore(Bool(..), Fractional(..), Integral(..), Num(..), RealFloat(..), RealFrac(..))
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: Ratio Integer -> u1) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ uf ] _N_} _F_ _IF_ARGS_ 2 3 CCX 8 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Fractional u1}}) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_4 (ug :: {{Num u1}}) (uh :: u1 -> u1 -> u1) (ui :: u1 -> u1) (uj :: Ratio Integer -> u1) -> _APP_ uj [ uf ]; _NO_DEFLT_ } _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+
diff --git a/ghc/lib/prelude/Prel_mr.hi b/ghc/lib/prelude/Prel_mr.hi
new file mode 100644
index 0000000000..392366b9e4
--- /dev/null
+++ b/ghc/lib/prelude/Prel_mr.hi
@@ -0,0 +1,87 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeBuiltin(Bin, Char(..), Int(..), Tuple2)
+import PreludeCore(Bool(..), Fractional(..), Integral(..), Num(..), RealFloat(..), RealFrac(..))
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: Ratio Integer -> u1) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ uf ] _N_} _F_ _IF_ARGS_ 2 3 CCX 8 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Fractional u1}}) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_4 (ug :: {{Num u1}}) (uh :: u1 -> u1 -> u1) (ui :: u1 -> u1) (uj :: Ratio Integer -> u1) -> _APP_ uj [ uf ]; _NO_DEFLT_ } _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+
diff --git a/ghc/lib/prelude/Prel_mt.hi b/ghc/lib/prelude/Prel_mt.hi
new file mode 100644
index 0000000000..392366b9e4
--- /dev/null
+++ b/ghc/lib/prelude/Prel_mt.hi
@@ -0,0 +1,87 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeBuiltin(Bin, Char(..), Int(..), Tuple2)
+import PreludeCore(Bool(..), Fractional(..), Integral(..), Num(..), RealFloat(..), RealFrac(..))
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: Ratio Integer -> u1) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ uf ] _N_} _F_ _IF_ARGS_ 2 3 CCX 8 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Fractional u1}}) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_4 (ug :: {{Num u1}}) (uh :: u1 -> u1 -> u1) (ui :: u1 -> u1) (uj :: Ratio Integer -> u1) -> _APP_ uj [ uf ]; _NO_DEFLT_ } _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+
diff --git a/ghc/lib/prelude/Prel_p.hi b/ghc/lib/prelude/Prel_p.hi
new file mode 100644
index 0000000000..375474bdee
--- /dev/null
+++ b/ghc/lib/prelude/Prel_p.hi
@@ -0,0 +1,87 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeBuiltin(Bin, Char(..), Int(..), Tuple2)
+import PreludeCore(Bool(..), Fractional(..), Integral(..), Num(..), RealFloat(..), RealFrac(..))
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+
diff --git a/ghc/lib/prelude/Prel_t.hi b/ghc/lib/prelude/Prel_t.hi
new file mode 100644
index 0000000000..392366b9e4
--- /dev/null
+++ b/ghc/lib/prelude/Prel_t.hi
@@ -0,0 +1,87 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeBuiltin(Bin, Char(..), Int(..), Tuple2)
+import PreludeCore(Bool(..), Fractional(..), Integral(..), Num(..), RealFloat(..), RealFrac(..))
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: Ratio Integer -> u1) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ uf ] _N_} _F_ _IF_ARGS_ 2 3 CCX 8 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Fractional u1}}) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_4 (ug :: {{Num u1}}) (uh :: u1 -> u1 -> u1) (ui :: u1 -> u1) (uj :: Ratio Integer -> u1) -> _APP_ uj [ uf ]; _NO_DEFLT_ } _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+
diff --git a/ghc/lib/prelude/Prelude.hi b/ghc/lib/prelude/Prelude.hi
new file mode 100644
index 0000000000..fbce1ccdea
--- /dev/null
+++ b/ghc/lib/prelude/Prelude.hi
@@ -0,0 +1,463 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeArray((!), (//), Array, Assoc, _ByteArray, accum, accumArray, amap, array, assocs, bounds, elems, indices, ixmap, listArray)
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7, _Addr(..), _RealWorld(..), _State(..))
+import PreludeComplex(Complex, cis, conjugate, imagPart, magnitude, mkPolar, phase, polar, realPart)
+import PreludeCore(Bool(..), Eq(..), Fractional(..), Integral(..), Ix(..), Num(..), Ord(..), Real(..), RealFloat(..), RealFrac(..), Text(..), _ceiling, _floor, _readList, _round, _showList, _showRational, _truncate)
+import PreludeIO(IOError, Request, Response, SigAct, abort, appendBinChan, appendBinFile, appendChan, appendFile, binDispatch, deleteFile, done, echo, exit, getArgs, getEnv, getProgName, interact, print, prints, readBinChan, readBinFile, readChan, readFile, setEnv, sigAction, statusChan, statusFile, stdecho, stderr, stdin, stdout, strDispatch, strListDispatch, succDispatch, writeBinFile, writeFile)
+import PreludeList((!!), (++), (\\), all, and, any, break, concat, cycle, drop, dropWhile, elem, filter, foldl1, foldr1, genericLength, head, init, iterate, last, length, lines, map, maximum, minimum, notElem, nub, null, or, partition, product, products, repeat, reverse, scanl, scanl1, scanr, scanr1, span, splitAt, sum, sums, tail, take, takeWhile, transpose, unlines, unwords, unzip, unzip3, unzip4, unzip5, unzip6, unzip7, words, zip, zip3, zip4, zip5, zip6, zip7, zipWith, zipWith3, zipWith4, zipWith5, zipWith6, zipWith7)
+import PreludePS(_PackedString, _appendPS, _breakPS, _byteArrayToPS, _concatPS, _consPS, _dropPS, _dropWhilePS, _filterPS, _foldlPS, _foldrPS, _headPS, _indexPS, _lengthPS, _linesPS, _mapPS, _nilPS, _nullPS, _packCBytes, _packCString, _packString, _psToByteArray, _putPS, _reversePS, _spanPS, _splitAtPS, _substrPS, _tailPS, _takePS, _takeWhilePS, _unpackPS, _wordsPS)
+import PreludeRatio((%), Ratio(..), approxRational, denominator, numerator)
+import PreludeText(_readRational, _showDigit, _showHex, _showRadix, lex, read, readDec, readFloat, readLitChar, readParen, readSigned, reads, show, showChar, showFloat, showInt, showLitChar, showParen, showSigned, showSpace__, showString, shows)
+import Stdio(_FILE)
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: Ratio Integer -> u1) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ uf ] _N_} _F_ _IF_ARGS_ 2 3 CCX 8 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Fractional u1}}) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_4 (ug :: {{Num u1}}) (uh :: u1 -> u1 -> u1) (ui :: u1 -> u1) (uj :: Ratio Integer -> u1) -> _APP_ uj [ uf ]; _NO_DEFLT_ } _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+abort :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 2 _U_ 00 _N_ _S_ "A" {_A_ 1 _U_ 0 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: IOError) -> _ORIG_ PreludeIO done _N_ #-}
+appendBinChan :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendChan :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+binDispatch :: (IOError -> [Response] -> a) -> (Bin -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+deleteFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+done :: [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_ #-}
+echo :: Bool -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+exit :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+getArgs :: (IOError -> [Response] -> [Request]) -> ([[Char]] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+getEnv :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+getProgName :: (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+interact :: ([Char] -> [Char]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+prints :: Text a => a -> [Char] -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1221 _N_ _N_ _N_ _N_ #-}
+readBinChan :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readBinFile :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+setEnv :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+sigAction :: Int -> SigAct -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+statusChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+statusFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+stdecho :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stderr :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+strDispatch :: (IOError -> [Response] -> a) -> ([Char] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+strListDispatch :: (IOError -> [Response] -> a) -> ([[Char]] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+succDispatch :: (IOError -> [Response] -> a) -> ([Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+writeBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+writeFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/PreludeCore.hi b/ghc/lib/prelude/PreludeCore.hi
new file mode 100644
index 0000000000..9f36cd0d5d
--- /dev/null
+++ b/ghc/lib/prelude/PreludeCore.hi
@@ -0,0 +1,971 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeArray(Array, Assoc(..), _ByteArray)
+import PreludeBuiltin(Bin, Char(..), Double(..), Float(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, _Addr(..), _CMP_TAG(..), _Word(..))
+import PreludeComplex(Complex(..))
+import PreludeGlaMisc(_MallocPtr(..), _StablePtr(..))
+import PreludeGlaST(_MutableArray, _MutableByteArray)
+import PreludeIO(BinCont(..), Dialogue(..), FailCont(..), IOError(..), Request(..), Response(..), SigAct(..), StrCont(..), StrListCont(..), SuccCont(..))
+import PreludePS(_PackedString)
+import PreludeRatio(Ratio(..))
+import PreludeText(ReadS(..), ShowS(..))
+import Stdio(_FILE)
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "SLLL" _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "S" _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b = (:=) a b
+data _ByteArray a {-# GHC_PRAGMA _ByteArray (a, a) ByteArray# #-}
+data Bin
+data Complex a = (:+) a a
+data _MutableArray a b c {-# GHC_PRAGMA _MutableArray (b, b) (MutableArray# a c) #-}
+data _MutableByteArray a b {-# GHC_PRAGMA _MutableByteArray (b, b) (MutableByteArray# a) #-}
+type BinCont = Bin -> [Response] -> [Request]
+type Dialogue = [Response] -> [Request]
+type FailCont = IOError -> [Response] -> [Request]
+data IOError = WriteError [Char] | ReadError [Char] | SearchError [Char] | FormatError [Char] | OtherError [Char] | EOD
+data Request = ReadFile [Char] | WriteFile [Char] [Char] | AppendFile [Char] [Char] | ReadBinFile [Char] | WriteBinFile [Char] Bin | AppendBinFile [Char] Bin | DeleteFile [Char] | StatusFile [Char] | ReadChan [Char] | AppendChan [Char] [Char] | ReadBinChan [Char] | AppendBinChan [Char] Bin | StatusChan [Char] | Echo Bool | GetArgs | GetProgName | GetEnv [Char] | SetEnv [Char] [Char] | SigAction Int SigAct
+data Response = Success | Str [Char] | StrList [[Char]] | Bn Bin | Failure IOError
+data SigAct = SAIgnore | SADefault | SACatch ([Response] -> [Request])
+type StrCont = [Char] -> [Response] -> [Request]
+type StrListCont = [[Char]] -> [Response] -> [Request]
+type SuccCont = [Response] -> [Request]
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_MutableByteArray a b)
+ {-# GHC_PRAGMA _M_ PreludeGlaST {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 2 0 X 1 _/\_ u0 u1 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeCore_mc.hi b/ghc/lib/prelude/PreludeCore_mc.hi
new file mode 100644
index 0000000000..9f36cd0d5d
--- /dev/null
+++ b/ghc/lib/prelude/PreludeCore_mc.hi
@@ -0,0 +1,971 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeArray(Array, Assoc(..), _ByteArray)
+import PreludeBuiltin(Bin, Char(..), Double(..), Float(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, _Addr(..), _CMP_TAG(..), _Word(..))
+import PreludeComplex(Complex(..))
+import PreludeGlaMisc(_MallocPtr(..), _StablePtr(..))
+import PreludeGlaST(_MutableArray, _MutableByteArray)
+import PreludeIO(BinCont(..), Dialogue(..), FailCont(..), IOError(..), Request(..), Response(..), SigAct(..), StrCont(..), StrListCont(..), SuccCont(..))
+import PreludePS(_PackedString)
+import PreludeRatio(Ratio(..))
+import PreludeText(ReadS(..), ShowS(..))
+import Stdio(_FILE)
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "SLLL" _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "S" _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b = (:=) a b
+data _ByteArray a {-# GHC_PRAGMA _ByteArray (a, a) ByteArray# #-}
+data Bin
+data Complex a = (:+) a a
+data _MutableArray a b c {-# GHC_PRAGMA _MutableArray (b, b) (MutableArray# a c) #-}
+data _MutableByteArray a b {-# GHC_PRAGMA _MutableByteArray (b, b) (MutableByteArray# a) #-}
+type BinCont = Bin -> [Response] -> [Request]
+type Dialogue = [Response] -> [Request]
+type FailCont = IOError -> [Response] -> [Request]
+data IOError = WriteError [Char] | ReadError [Char] | SearchError [Char] | FormatError [Char] | OtherError [Char] | EOD
+data Request = ReadFile [Char] | WriteFile [Char] [Char] | AppendFile [Char] [Char] | ReadBinFile [Char] | WriteBinFile [Char] Bin | AppendBinFile [Char] Bin | DeleteFile [Char] | StatusFile [Char] | ReadChan [Char] | AppendChan [Char] [Char] | ReadBinChan [Char] | AppendBinChan [Char] Bin | StatusChan [Char] | Echo Bool | GetArgs | GetProgName | GetEnv [Char] | SetEnv [Char] [Char] | SigAction Int SigAct
+data Response = Success | Str [Char] | StrList [[Char]] | Bn Bin | Failure IOError
+data SigAct = SAIgnore | SADefault | SACatch ([Response] -> [Request])
+type StrCont = [Char] -> [Response] -> [Request]
+type StrListCont = [[Char]] -> [Response] -> [Request]
+type SuccCont = [Response] -> [Request]
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_MutableByteArray a b)
+ {-# GHC_PRAGMA _M_ PreludeGlaST {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 2 0 X 1 _/\_ u0 u1 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeCore_mg.hi b/ghc/lib/prelude/PreludeCore_mg.hi
new file mode 100644
index 0000000000..9f36cd0d5d
--- /dev/null
+++ b/ghc/lib/prelude/PreludeCore_mg.hi
@@ -0,0 +1,971 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeArray(Array, Assoc(..), _ByteArray)
+import PreludeBuiltin(Bin, Char(..), Double(..), Float(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, _Addr(..), _CMP_TAG(..), _Word(..))
+import PreludeComplex(Complex(..))
+import PreludeGlaMisc(_MallocPtr(..), _StablePtr(..))
+import PreludeGlaST(_MutableArray, _MutableByteArray)
+import PreludeIO(BinCont(..), Dialogue(..), FailCont(..), IOError(..), Request(..), Response(..), SigAct(..), StrCont(..), StrListCont(..), SuccCont(..))
+import PreludePS(_PackedString)
+import PreludeRatio(Ratio(..))
+import PreludeText(ReadS(..), ShowS(..))
+import Stdio(_FILE)
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "SLLL" _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "S" _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b = (:=) a b
+data _ByteArray a {-# GHC_PRAGMA _ByteArray (a, a) ByteArray# #-}
+data Bin
+data Complex a = (:+) a a
+data _MutableArray a b c {-# GHC_PRAGMA _MutableArray (b, b) (MutableArray# a c) #-}
+data _MutableByteArray a b {-# GHC_PRAGMA _MutableByteArray (b, b) (MutableByteArray# a) #-}
+type BinCont = Bin -> [Response] -> [Request]
+type Dialogue = [Response] -> [Request]
+type FailCont = IOError -> [Response] -> [Request]
+data IOError = WriteError [Char] | ReadError [Char] | SearchError [Char] | FormatError [Char] | OtherError [Char] | EOD
+data Request = ReadFile [Char] | WriteFile [Char] [Char] | AppendFile [Char] [Char] | ReadBinFile [Char] | WriteBinFile [Char] Bin | AppendBinFile [Char] Bin | DeleteFile [Char] | StatusFile [Char] | ReadChan [Char] | AppendChan [Char] [Char] | ReadBinChan [Char] | AppendBinChan [Char] Bin | StatusChan [Char] | Echo Bool | GetArgs | GetProgName | GetEnv [Char] | SetEnv [Char] [Char] | SigAction Int SigAct
+data Response = Success | Str [Char] | StrList [[Char]] | Bn Bin | Failure IOError
+data SigAct = SAIgnore | SADefault | SACatch ([Response] -> [Request])
+type StrCont = [Char] -> [Response] -> [Request]
+type StrListCont = [[Char]] -> [Response] -> [Request]
+type SuccCont = [Response] -> [Request]
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_MutableByteArray a b)
+ {-# GHC_PRAGMA _M_ PreludeGlaST {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 2 0 X 1 _/\_ u0 u1 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeCore_mp.hi b/ghc/lib/prelude/PreludeCore_mp.hi
new file mode 100644
index 0000000000..b966a8d186
--- /dev/null
+++ b/ghc/lib/prelude/PreludeCore_mp.hi
@@ -0,0 +1,967 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeArray(Array, Assoc(..), _ByteArray)
+import PreludeBuiltin(Bin, Char(..), Double(..), Float(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, _Addr(..), _CMP_TAG(..), _Word(..))
+import PreludeComplex(Complex(..))
+import PreludeGlaMisc(_MallocPtr(..))
+import PreludeGlaST(_MutableArray, _MutableByteArray)
+import PreludeIO(BinCont(..), Dialogue(..), FailCont(..), IOError(..), Request(..), Response(..), SigAct(..), StrCont(..), StrListCont(..), SuccCont(..))
+import PreludePS(_PackedString)
+import PreludeRatio(Ratio(..))
+import PreludeText(ReadS(..), ShowS(..))
+import Stdio(_FILE)
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "SLLL" _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "S" _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b = (:=) a b
+data _ByteArray a {-# GHC_PRAGMA _ByteArray (a, a) ByteArray# #-}
+data Bin
+data Complex a = (:+) a a
+data _MutableArray a b c {-# GHC_PRAGMA _MutableArray (b, b) (MutableArray# a c) #-}
+data _MutableByteArray a b {-# GHC_PRAGMA _MutableByteArray (b, b) (MutableByteArray# a) #-}
+type BinCont = Bin -> [Response] -> [Request]
+type Dialogue = [Response] -> [Request]
+type FailCont = IOError -> [Response] -> [Request]
+data IOError = WriteError [Char] | ReadError [Char] | SearchError [Char] | FormatError [Char] | OtherError [Char] | EOD
+data Request = ReadFile [Char] | WriteFile [Char] [Char] | AppendFile [Char] [Char] | ReadBinFile [Char] | WriteBinFile [Char] Bin | AppendBinFile [Char] Bin | DeleteFile [Char] | StatusFile [Char] | ReadChan [Char] | AppendChan [Char] [Char] | ReadBinChan [Char] | AppendBinChan [Char] Bin | StatusChan [Char] | Echo Bool | GetArgs | GetProgName | GetEnv [Char] | SetEnv [Char] [Char] | SigAction Int SigAct
+data Response = Success | Str [Char] | StrList [[Char]] | Bn Bin | Failure IOError
+data SigAct = SAIgnore | SADefault | SACatch ([Response] -> [Request])
+type StrCont = [Char] -> [Response] -> [Request]
+type StrListCont = [[Char]] -> [Response] -> [Request]
+type SuccCont = [Response] -> [Request]
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_MutableByteArray a b)
+ {-# GHC_PRAGMA _M_ PreludeGlaST {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 2 0 X 1 _/\_ u0 u1 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeCore_mr.hi b/ghc/lib/prelude/PreludeCore_mr.hi
new file mode 100644
index 0000000000..9f36cd0d5d
--- /dev/null
+++ b/ghc/lib/prelude/PreludeCore_mr.hi
@@ -0,0 +1,971 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeArray(Array, Assoc(..), _ByteArray)
+import PreludeBuiltin(Bin, Char(..), Double(..), Float(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, _Addr(..), _CMP_TAG(..), _Word(..))
+import PreludeComplex(Complex(..))
+import PreludeGlaMisc(_MallocPtr(..), _StablePtr(..))
+import PreludeGlaST(_MutableArray, _MutableByteArray)
+import PreludeIO(BinCont(..), Dialogue(..), FailCont(..), IOError(..), Request(..), Response(..), SigAct(..), StrCont(..), StrListCont(..), SuccCont(..))
+import PreludePS(_PackedString)
+import PreludeRatio(Ratio(..))
+import PreludeText(ReadS(..), ShowS(..))
+import Stdio(_FILE)
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "SLLL" _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "S" _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b = (:=) a b
+data _ByteArray a {-# GHC_PRAGMA _ByteArray (a, a) ByteArray# #-}
+data Bin
+data Complex a = (:+) a a
+data _MutableArray a b c {-# GHC_PRAGMA _MutableArray (b, b) (MutableArray# a c) #-}
+data _MutableByteArray a b {-# GHC_PRAGMA _MutableByteArray (b, b) (MutableByteArray# a) #-}
+type BinCont = Bin -> [Response] -> [Request]
+type Dialogue = [Response] -> [Request]
+type FailCont = IOError -> [Response] -> [Request]
+data IOError = WriteError [Char] | ReadError [Char] | SearchError [Char] | FormatError [Char] | OtherError [Char] | EOD
+data Request = ReadFile [Char] | WriteFile [Char] [Char] | AppendFile [Char] [Char] | ReadBinFile [Char] | WriteBinFile [Char] Bin | AppendBinFile [Char] Bin | DeleteFile [Char] | StatusFile [Char] | ReadChan [Char] | AppendChan [Char] [Char] | ReadBinChan [Char] | AppendBinChan [Char] Bin | StatusChan [Char] | Echo Bool | GetArgs | GetProgName | GetEnv [Char] | SetEnv [Char] [Char] | SigAction Int SigAct
+data Response = Success | Str [Char] | StrList [[Char]] | Bn Bin | Failure IOError
+data SigAct = SAIgnore | SADefault | SACatch ([Response] -> [Request])
+type StrCont = [Char] -> [Response] -> [Request]
+type StrListCont = [[Char]] -> [Response] -> [Request]
+type SuccCont = [Response] -> [Request]
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_MutableByteArray a b)
+ {-# GHC_PRAGMA _M_ PreludeGlaST {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 2 0 X 1 _/\_ u0 u1 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeCore_mt.hi b/ghc/lib/prelude/PreludeCore_mt.hi
new file mode 100644
index 0000000000..9f36cd0d5d
--- /dev/null
+++ b/ghc/lib/prelude/PreludeCore_mt.hi
@@ -0,0 +1,971 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeArray(Array, Assoc(..), _ByteArray)
+import PreludeBuiltin(Bin, Char(..), Double(..), Float(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, _Addr(..), _CMP_TAG(..), _Word(..))
+import PreludeComplex(Complex(..))
+import PreludeGlaMisc(_MallocPtr(..), _StablePtr(..))
+import PreludeGlaST(_MutableArray, _MutableByteArray)
+import PreludeIO(BinCont(..), Dialogue(..), FailCont(..), IOError(..), Request(..), Response(..), SigAct(..), StrCont(..), StrListCont(..), SuccCont(..))
+import PreludePS(_PackedString)
+import PreludeRatio(Ratio(..))
+import PreludeText(ReadS(..), ShowS(..))
+import Stdio(_FILE)
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "SLLL" _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "S" _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b = (:=) a b
+data _ByteArray a {-# GHC_PRAGMA _ByteArray (a, a) ByteArray# #-}
+data Bin
+data Complex a = (:+) a a
+data _MutableArray a b c {-# GHC_PRAGMA _MutableArray (b, b) (MutableArray# a c) #-}
+data _MutableByteArray a b {-# GHC_PRAGMA _MutableByteArray (b, b) (MutableByteArray# a) #-}
+type BinCont = Bin -> [Response] -> [Request]
+type Dialogue = [Response] -> [Request]
+type FailCont = IOError -> [Response] -> [Request]
+data IOError = WriteError [Char] | ReadError [Char] | SearchError [Char] | FormatError [Char] | OtherError [Char] | EOD
+data Request = ReadFile [Char] | WriteFile [Char] [Char] | AppendFile [Char] [Char] | ReadBinFile [Char] | WriteBinFile [Char] Bin | AppendBinFile [Char] Bin | DeleteFile [Char] | StatusFile [Char] | ReadChan [Char] | AppendChan [Char] [Char] | ReadBinChan [Char] | AppendBinChan [Char] Bin | StatusChan [Char] | Echo Bool | GetArgs | GetProgName | GetEnv [Char] | SetEnv [Char] [Char] | SigAction Int SigAct
+data Response = Success | Str [Char] | StrList [[Char]] | Bn Bin | Failure IOError
+data SigAct = SAIgnore | SADefault | SACatch ([Response] -> [Request])
+type StrCont = [Char] -> [Response] -> [Request]
+type StrListCont = [[Char]] -> [Response] -> [Request]
+type SuccCont = [Response] -> [Request]
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_MutableByteArray a b)
+ {-# GHC_PRAGMA _M_ PreludeGlaST {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 2 0 X 1 _/\_ u0 u1 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeCore_p.hi b/ghc/lib/prelude/PreludeCore_p.hi
new file mode 100644
index 0000000000..9f36cd0d5d
--- /dev/null
+++ b/ghc/lib/prelude/PreludeCore_p.hi
@@ -0,0 +1,971 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeArray(Array, Assoc(..), _ByteArray)
+import PreludeBuiltin(Bin, Char(..), Double(..), Float(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, _Addr(..), _CMP_TAG(..), _Word(..))
+import PreludeComplex(Complex(..))
+import PreludeGlaMisc(_MallocPtr(..), _StablePtr(..))
+import PreludeGlaST(_MutableArray, _MutableByteArray)
+import PreludeIO(BinCont(..), Dialogue(..), FailCont(..), IOError(..), Request(..), Response(..), SigAct(..), StrCont(..), StrListCont(..), SuccCont(..))
+import PreludePS(_PackedString)
+import PreludeRatio(Ratio(..))
+import PreludeText(ReadS(..), ShowS(..))
+import Stdio(_FILE)
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "SLLL" _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "S" _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b = (:=) a b
+data _ByteArray a {-# GHC_PRAGMA _ByteArray (a, a) ByteArray# #-}
+data Bin
+data Complex a = (:+) a a
+data _MutableArray a b c {-# GHC_PRAGMA _MutableArray (b, b) (MutableArray# a c) #-}
+data _MutableByteArray a b {-# GHC_PRAGMA _MutableByteArray (b, b) (MutableByteArray# a) #-}
+type BinCont = Bin -> [Response] -> [Request]
+type Dialogue = [Response] -> [Request]
+type FailCont = IOError -> [Response] -> [Request]
+data IOError = WriteError [Char] | ReadError [Char] | SearchError [Char] | FormatError [Char] | OtherError [Char] | EOD
+data Request = ReadFile [Char] | WriteFile [Char] [Char] | AppendFile [Char] [Char] | ReadBinFile [Char] | WriteBinFile [Char] Bin | AppendBinFile [Char] Bin | DeleteFile [Char] | StatusFile [Char] | ReadChan [Char] | AppendChan [Char] [Char] | ReadBinChan [Char] | AppendBinChan [Char] Bin | StatusChan [Char] | Echo Bool | GetArgs | GetProgName | GetEnv [Char] | SetEnv [Char] [Char] | SigAction Int SigAct
+data Response = Success | Str [Char] | StrList [[Char]] | Bn Bin | Failure IOError
+data SigAct = SAIgnore | SADefault | SACatch ([Response] -> [Request])
+type StrCont = [Char] -> [Response] -> [Request]
+type StrListCont = [[Char]] -> [Response] -> [Request]
+type SuccCont = [Response] -> [Request]
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_MutableByteArray a b)
+ {-# GHC_PRAGMA _M_ PreludeGlaST {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 2 0 X 1 _/\_ u0 u1 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeCore_t.hi b/ghc/lib/prelude/PreludeCore_t.hi
new file mode 100644
index 0000000000..9f36cd0d5d
--- /dev/null
+++ b/ghc/lib/prelude/PreludeCore_t.hi
@@ -0,0 +1,971 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeCore where
+import PreludeArray(Array, Assoc(..), _ByteArray)
+import PreludeBuiltin(Bin, Char(..), Double(..), Float(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, _Addr(..), _CMP_TAG(..), _Word(..))
+import PreludeComplex(Complex(..))
+import PreludeGlaMisc(_MallocPtr(..), _StablePtr(..))
+import PreludeGlaST(_MutableArray, _MutableByteArray)
+import PreludeIO(BinCont(..), Dialogue(..), FailCont(..), IOError(..), Request(..), Response(..), SigAct(..), StrCont(..), StrListCont(..), SuccCont(..))
+import PreludePS(_PackedString)
+import PreludeRatio(Ratio(..))
+import PreludeText(ReadS(..), ShowS(..))
+import Stdio(_FILE)
+class Binary a where
+ readBin :: Bin -> (a, Bin)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: Bin) -> _APP_ _TYAPP_ patError# { (Bin -> (u0, Bin)) } [ _NOREP_S_ "%DPreludeCore.Binary.readBin\"", u2 ] _N_ #-}
+ showBin :: a -> Bin -> Bin
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Bin -> (u0, Bin), u0 -> Bin -> Bin)) -> case u1 of { _ALG_ _TUP_2 (u2 :: Bin -> (u0, Bin)) (u3 :: u0 -> Bin -> Bin) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Binary u0}}) (u2 :: u0) (u3 :: Bin) -> _APP_ _TYAPP_ patError# { (u0 -> Bin -> Bin) } [ _NOREP_S_ "%DPreludeCore.Binary.showBin\"", u2, u3 ] _N_ #-}
+class (Ord a) => Enum a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u2; _NO_DEFLT_ } _N_ #-} where
+ enumFrom :: a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFrom\"", u2 ] _N_ #-}
+ enumFromThen :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Enum u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Enum.enumFromThen\"", u2, u3 ] _N_ #-}
+ enumFromTo :: a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ enumFromThenTo :: a -> a -> a -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> [u0], u0 -> u0 -> u0 -> [u0])) -> case u1 of { _ALG_ _TUP_5 (u2 :: {{Ord u0}}) (u3 :: u0 -> [u0]) (u4 :: u0 -> u0 -> [u0]) (u5 :: u0 -> u0 -> [u0]) (u6 :: u0 -> u0 -> u0 -> [u0]) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 1222 _N_ _S_ "SLLL" _N_ _N_ #-}
+class Eq a where
+ (==) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Eq.(==)\"", u2, u3 ] _N_ #-}
+ (/=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (u0 -> u0 -> Bool, u0 -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_2 (u2 :: u0 -> u0 -> Bool) (u3 :: u0 -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Fractional a) => Floating a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ pi :: a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 0 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 1 X 2 _/\_ u0 -> \ (u1 :: {{Floating u0}}) -> _APP_ _TYAPP_ patError# { u0 } [ _NOREP_S_ "%DPreludeCore.Floating.pi\"" ] _N_ #-}
+ exp :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.exp\"", u2 ] _N_ #-}
+ log :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.log\"", u2 ] _N_ #-}
+ sqrt :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ (**) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ logBase :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ sin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sin\"", u2 ] _N_ #-}
+ cos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cos\"", u2 ] _N_ #-}
+ tan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asin :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asin\"", u2 ] _N_ #-}
+ acos :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acos\"", u2 ] _N_ #-}
+ atan :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ue; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atan\"", u2 ] _N_ #-}
+ sinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uf; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.sinh\"", u2 ] _N_ #-}
+ cosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ug; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.cosh\"", u2 ] _N_ #-}
+ tanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uh; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ asinh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> ui; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.asinh\"", u2 ] _N_ #-}
+ acosh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uj; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.acosh\"", u2 ] _N_ #-}
+ atanh :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Fractional u0}}, u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0)) -> case u1 of { _ALG_ _TUP_19 (u2 :: {{Fractional u0}}) (u3 :: u0) (u4 :: u0 -> u0) (u5 :: u0 -> u0) (u6 :: u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: u0 -> u0) (ue :: u0 -> u0) (uf :: u0 -> u0) (ug :: u0 -> u0) (uh :: u0 -> u0) (ui :: u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) -> uk; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Floating u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Floating.atanh\"", u2 ] _N_ #-}
+class (Num a) => Fractional a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (/) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.(/)\"", u2, u3 ] _N_ #-}
+ recip :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ fromRational :: Ratio Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, u0 -> u0 -> u0, u0 -> u0, Ratio Integer -> u0)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Num u0}}) (u3 :: u0 -> u0 -> u0) (u4 :: u0 -> u0) (u5 :: Ratio Integer -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Fractional u0}}) (u2 :: Ratio Integer) -> _APP_ _TYAPP_ patError# { (Ratio Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Fractional.fromRational\"", u2 ] _N_ #-}
+class (Real a, Ix a) => Integral a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u3; _NO_DEFLT_ } _N_ #-} where
+ quot :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ rem :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ua [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ div :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> ug; _NO_DEFLT_ } _N_ #-}
+ mod :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 6 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> case case u1 of { _ALG_ _TUP_12 (u4 :: {{Real u0}}) (u5 :: {{Ix u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> (u0, u0)) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> Bool) (ud :: u0 -> Bool) (ue :: u0 -> Integer) (uf :: u0 -> Int) -> _APP_ ub [ u2, u3 ]; _NO_DEFLT_ } of { _ALG_ _TUP_2 (ug :: u0) (uh :: u0) -> uh; _NO_DEFLT_ } _N_ #-}
+ quotRem :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> (u0, u0)) } [ _NOREP_S_ "%DPreludeCore.Integral.quotRem\"", u2, u3 ] _N_ #-}
+ divMod :: a -> a -> (a, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 122 _N_ _S_ "S" _N_ _N_ #-}
+ even :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ odd :: a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 12 _N_ _S_ "S" _N_ _N_ #-}
+ toInteger :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> uc; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.Integral.toInteger\"", u2 ] _N_ #-}
+ toInt :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Ix u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> (u0, u0), u0 -> u0 -> (u0, u0), u0 -> Bool, u0 -> Bool, u0 -> Integer, u0 -> Int)) -> case u1 of { _ALG_ _TUP_12 (u2 :: {{Real u0}}) (u3 :: {{Ix u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> (u0, u0)) (u9 :: u0 -> u0 -> (u0, u0)) (ua :: u0 -> Bool) (ub :: u0 -> Bool) (uc :: u0 -> Integer) (ud :: u0 -> Int) -> ud; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Integral.toInt\"", u2 ] _N_ #-}
+class (Ord a) => Ix a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u2; _NO_DEFLT_ } _N_ #-} where
+ range :: (a, a) -> [a]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> [u0]) } [ _NOREP_S_ "%DPreludeCore.Ix.range\"", u2 ] _N_ #-}
+ index :: (a, a) -> a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.Ix.index\"", u2, u3 ] _N_ #-}
+ inRange :: (a, a) -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Ord u0}}, (u0, u0) -> [u0], (u0, u0) -> u0 -> Int, (u0, u0) -> u0 -> Bool)) -> case u1 of { _ALG_ _TUP_4 (u2 :: {{Ord u0}}) (u3 :: (u0, u0) -> [u0]) (u4 :: (u0, u0) -> u0 -> Int) (u5 :: (u0, u0) -> u0 -> Bool) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ix u0}}) (u2 :: (u0, u0)) (u3 :: u0) -> _APP_ _TYAPP_ patError# { ((u0, u0) -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ix.inRange\"", u2, u3 ] _N_ #-}
+class (Eq a, Text a) => Num a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ (+) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(+)\"", u2, u3 ] _N_ #-}
+ (-) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> let {(ue :: u0) = _APP_ u9 [ u3 ]} in _APP_ u6 [ u2, ue ]; _NO_DEFLT_ } _N_ #-}
+ (*) :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.(*)\"", u2, u3 ] _N_ #-}
+ negate :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.negate\"", u2 ] _N_ #-}
+ abs :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.abs\"", u2 ] _N_ #-}
+ signum :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.signum\"", u2 ] _N_ #-}
+ fromInteger :: Integer -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Integer) -> _APP_ _TYAPP_ patError# { (Integer -> u0) } [ _NOREP_S_ "%DPreludeCore.Num.fromInteger\"", u2 ] _N_ #-}
+ fromInt :: Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, {{Text u0}}, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0, u0 -> u0, u0 -> u0, Integer -> u0, Int -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _IF_ARGS_ 1 2 CC 6 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: Int) -> let {(u4 :: Integer) = case u2 of { _ALG_ I# (u3 :: Int#) -> _#_ int2Integer# [] [u3]; _NO_DEFLT_ }} in case u1 of { _ALG_ _TUP_10 (u5 :: {{Eq u0}}) (u6 :: {{Text u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: u0 -> u0) (ud :: Integer -> u0) (ue :: Int -> u0) -> _APP_ ud [ u4 ]; _NO_DEFLT_ } _N_ #-}
+class (Eq a) => Ord a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u2; _NO_DEFLT_ } _N_ #-} where
+ (<) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ (<=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> u0 -> Bool) } [ _NOREP_S_ "%DPreludeCore.Ord.(<=)\"", u2, u3 ] _N_ #-}
+ (>=) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u6 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ (>) :: a -> a -> Bool
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Ord u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_8 (u4 :: {{Eq u0}}) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> Bool) (u8 :: u0 -> u0 -> Bool) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> _CMP_TAG) -> _APP_ u5 [ u3, u2 ]; _NO_DEFLT_ } _N_ #-}
+ max :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ min :: a -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+ _tagCmp :: a -> a -> _CMP_TAG
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Eq u0}}, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> Bool, u0 -> u0 -> u0, u0 -> u0 -> u0, u0 -> u0 -> _CMP_TAG)) -> case u1 of { _ALG_ _TUP_8 (u2 :: {{Eq u0}}) (u3 :: u0 -> u0 -> Bool) (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) (u6 :: u0 -> u0 -> Bool) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> _CMP_TAG) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 122 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Num a, Enum a) => Real a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u3; _NO_DEFLT_ } _N_ #-} where
+ toRational :: a -> Ratio Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Num u0}}, {{Enum u0}}, u0 -> Ratio Integer)) -> case u1 of { _ALG_ _TUP_3 (u2 :: {{Num u0}}) (u3 :: {{Enum u0}}) (u4 :: u0 -> Ratio Integer) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{Real u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Ratio Integer) } [ _NOREP_S_ "%DPreludeCore.Real.toRational\"", u2 ] _N_ #-}
+class (RealFrac a, Floating a) => RealFloat a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u3; _NO_DEFLT_ } _N_ #-} where
+ floatRadix :: a -> Integer
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Integer) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRadix\"", u2 ] _N_ #-}
+ floatDigits :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> Int) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatDigits\"", u2 ] _N_ #-}
+ floatRange :: a -> (Int, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u6; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Int, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.floatRange\"", u2 ] _N_ #-}
+ decodeFloat :: a -> (Integer, Int)
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u7; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (Integer, Int)) } [ _NOREP_S_ "%DPreludeCore.RealFloat.decodeFloat\"", u2 ] _N_ #-}
+ encodeFloat :: Integer -> Int -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u8; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{RealFloat u0}}) (u2 :: Integer) (u3 :: Int) -> _APP_ _TYAPP_ patError# { (Integer -> Int -> u0) } [ _NOREP_S_ "%DPreludeCore.RealFloat.encodeFloat\"", u2, u3 ] _N_ #-}
+ exponent :: a -> Int
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> u9; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ significand :: a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ua; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+ scaleFloat :: Int -> a -> a
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{RealFrac u0}}, {{Floating u0}}, u0 -> Integer, u0 -> Int, u0 -> (Int, Int), u0 -> (Integer, Int), Integer -> Int -> u0, u0 -> Int, u0 -> u0, Int -> u0 -> u0)) -> case u1 of { _ALG_ _TUP_10 (u2 :: {{RealFrac u0}}) (u3 :: {{Floating u0}}) (u4 :: u0 -> Integer) (u5 :: u0 -> Int) (u6 :: u0 -> (Int, Int)) (u7 :: u0 -> (Integer, Int)) (u8 :: Integer -> Int -> u0) (u9 :: u0 -> Int) (ua :: u0 -> u0) (ub :: Int -> u0 -> u0) -> ub; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+class (Real a, Fractional a) => RealFrac a {-# GHC_PRAGMA {-superdicts-} _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u2; _NO_DEFLT_ } _N_, _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) -> case u1 of { _ALG_ _TUP_7 (u2 :: {{Real u0}}) (u3 :: {{Fractional u0}}) (u4 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u5 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> u3; _NO_DEFLT_ } _N_ #-} where
+ properFraction :: Integral b => a -> (b, a)
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u6 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 002 _N_ _S_ _!_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Integral u1}}) (u4 :: u0) -> _APP_ _TYAPP_ patError# { (u0 -> (u1, u0)) } [ _NOREP_S_ "%DPreludeCore.RealFrac.properFraction\"", u4 ] _N_ #-}
+ truncate :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u7 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ round :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u8 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ ceiling :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ u9 { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+ floor :: Integral b => a -> b
+ {-# GHC_PRAGMA {-meth-} _A_ 2 _U_ 122 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 CX 3 _/\_ u0 u1 -> \ (u2 :: ({{Real u0}}, {{Fractional u0}}, (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> (z$z1, u0)), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1), (_forall_ z$z1 =>{{Integral z$z1}} -> u0 -> z$z1))) (u3 :: {{Integral u1}}) -> case u2 of { _ALG_ _TUP_7 (u4 :: {{Real u0}}) (u5 :: {{Fractional u0}}) (u6 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> _APP_ _TYAPP_ ua { u1 } [ u3 ]; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 2 _U_ 122 _N_ _S_ "SL" _N_ _N_ #-}
+class Text a where
+ readsPrec :: Int -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u2; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 3 _U_ 022 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 3 XXX 4 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(u0, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u2, u3 ] _N_ #-}
+ showsPrec :: Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 1222 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u3; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 4 _U_ 0222 _N_ _S_ _!_ _F_ _IF_ARGS_ 1 4 XXXX 5 _/\_ u0 -> \ (u1 :: {{Text u0}}) (u2 :: Int) (u3 :: u0) (u4 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> u0 -> [Char] -> [Char]) } [ _NOREP_S_ "%DPreludeCore.Text.showsPrec\"", u2, u3, u4 ] _N_ #-}
+ readList :: [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 12 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u4; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _readList _N_ #-}
+ showList :: [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA {-meth-} _A_ 1 _U_ 122 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: (Int -> [Char] -> [(u0, [Char])], Int -> u0 -> [Char] -> [Char], [Char] -> [([u0], [Char])], [u0] -> [Char] -> [Char])) -> case u1 of { _ALG_ _TUP_4 (u2 :: Int -> [Char] -> [(u0, [Char])]) (u3 :: Int -> u0 -> [Char] -> [Char]) (u4 :: [Char] -> [([u0], [Char])]) (u5 :: [u0] -> [Char] -> [Char]) -> u5; _NO_DEFLT_ } _N_
+ {-defm-} _A_ 1 _U_ 212 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _ORIG_ PreludeCore _showList _N_ #-}
+class _CCallable a
+class _CReturnable a
+data Array a b {-# GHC_PRAGMA _Array (a, a) (Array# b) #-}
+data Assoc a b = (:=) a b
+data _ByteArray a {-# GHC_PRAGMA _ByteArray (a, a) ByteArray# #-}
+data Bin
+data Complex a = (:+) a a
+data _MutableArray a b c {-# GHC_PRAGMA _MutableArray (b, b) (MutableArray# a c) #-}
+data _MutableByteArray a b {-# GHC_PRAGMA _MutableByteArray (b, b) (MutableByteArray# a) #-}
+type BinCont = Bin -> [Response] -> [Request]
+type Dialogue = [Response] -> [Request]
+type FailCont = IOError -> [Response] -> [Request]
+data IOError = WriteError [Char] | ReadError [Char] | SearchError [Char] | FormatError [Char] | OtherError [Char] | EOD
+data Request = ReadFile [Char] | WriteFile [Char] [Char] | AppendFile [Char] [Char] | ReadBinFile [Char] | WriteBinFile [Char] Bin | AppendBinFile [Char] Bin | DeleteFile [Char] | StatusFile [Char] | ReadChan [Char] | AppendChan [Char] [Char] | ReadBinChan [Char] | AppendBinChan [Char] Bin | StatusChan [Char] | Echo Bool | GetArgs | GetProgName | GetEnv [Char] | SetEnv [Char] [Char] | SigAction Int SigAct
+data Response = Success | Str [Char] | StrList [[Char]] | Bn Bin | Failure IOError
+data SigAct = SAIgnore | SADefault | SACatch ([Response] -> [Request])
+type StrCont = [Char] -> [Response] -> [Request]
+type StrListCont = [[Char]] -> [Response] -> [Request]
+type SuccCont = [Response] -> [Request]
+data _PackedString {-# GHC_PRAGMA _PS ByteArray# Int# Bool | _CPS Addr# Int# #-}
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+data _FILE {-# GHC_PRAGMA _FILE Addr# #-}
+instance Enum ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord ()}}, (() -> [()]), (() -> () -> [()]), (() -> () -> [()]), (() -> () -> () -> [()])] [_DFUN_ Ord (()), _CONSTM_ Enum enumFrom (()), _CONSTM_ Enum enumFromThen (()), _CONSTM_ Enum enumFromTo (()), _CONSTM_ Enum enumFromThenTo (())] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromTo = _A_ 2 _U_ 21 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> let {(u2 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u2]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 211 _N_ _S_ "EEE" _F_ _IF_ARGS_ 0 3 CCC 8 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> let {(u3 :: [()]) = _!_ _NIL_ [()] []} in _!_ (:) [()] [u0, u3]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Enum Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Bool}}, (Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> [Bool]), (Bool -> Bool -> Bool -> [Bool])] [_DFUN_ Ord (Bool), _CONSTM_ Enum enumFrom (Bool), _CONSTM_ Enum enumFromThen (Bool), _CONSTM_ Enum enumFromTo (Bool), _CONSTM_ Enum enumFromThenTo (Bool)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Char}}, (Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> [Char]), (Char -> Char -> Char -> [Char])] [_DFUN_ Ord (Char), _CONSTM_ Enum enumFrom (Char), _CONSTM_ Enum enumFromThen (Char), _CONSTM_ Enum enumFromTo (Char), _CONSTM_ Enum enumFromThenTo (Char)] _N_
+ enumFrom = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Double}}, (Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> [Double]), (Double -> Double -> Double -> [Double])] [_DFUN_ Ord (Double), _CONSTM_ Enum enumFrom (Double), _CONSTM_ Enum enumFromThen (Double), _CONSTM_ Enum enumFromTo (Double), _CONSTM_ Enum enumFromThenTo (Double)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Float}}, (Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> [Float]), (Float -> Float -> Float -> [Float])] [_DFUN_ Ord (Float), _CONSTM_ Enum enumFrom (Float), _CONSTM_ Enum enumFromThen (Float), _CONSTM_ Enum enumFromTo (Float), _CONSTM_ Enum enumFromThenTo (Float)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Int}}, (Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> [Int]), (Int -> Int -> Int -> [Int])] [_DFUN_ Ord (Int), _CONSTM_ Enum enumFrom (Int), _CONSTM_ Enum enumFromThen (Int), _CONSTM_ Enum enumFromTo (Int), _CONSTM_ Enum enumFromThenTo (Int)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ \ (u0 :: Int) -> _LETREC_ {(u1 :: Int -> [Int]) = \ (u2 :: Int) -> let {(u6 :: [Int]) = let {(u5 :: Int) = case u2 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u3, 1#] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }} in _APP_ u1 [ u5 ]} in _!_ (:) [Int] [u2, u6]} in _APP_ u1 [ u0 ] _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> _LETREC_ {(u3 :: Int# -> [Int]) = \ (u4 :: Int#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ leInt# [] [u4, u5] of { _ALG_ True -> let {(u7 :: [Int]) = case _#_ plusInt# [] [u4, 1#] of { _PRIM_ (u6 :: Int#) -> _APP_ u3 [ u6 ] }} in let {(u8 :: Int) = _!_ I# [] [u4]} in _!_ (:) [Int] [u8, u7]; False -> _!_ _NIL_ [Int] []; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ u2 ]; _NO_DEFLT_ } _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Enum Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord Integer}}, (Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> [Integer]), (Integer -> Integer -> Integer -> [Integer])] [_DFUN_ Ord (Integer), _CONSTM_ Enum enumFrom (Integer), _CONSTM_ Enum enumFromThen (Integer), _CONSTM_ Enum enumFromTo (Integer), _CONSTM_ Enum enumFromThenTo (Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Enum (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Enum (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 6 _!_ _TUP_5 [{{Ord (Ratio Integer)}}, (Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> [Ratio Integer]), (Ratio Integer -> Ratio Integer -> Ratio Integer -> [Ratio Integer])] [_DFUN_ Ord (Ratio Integer), _CONSTM_ Enum enumFrom (Ratio Integer), _CONSTM_ Enum enumFromThen (Ratio Integer), _CONSTM_ Enum enumFromTo (Ratio Integer), _CONSTM_ Enum enumFromThenTo (Ratio Integer)] _N_
+ enumFrom = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ enumFromThen = _A_ 2 _U_ 21 _N_ _N_ _N_ _N_,
+ enumFromTo = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ enumFromThenTo = _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Eq ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(() -> () -> Bool), (() -> () -> Bool)] [_CONSTM_ Eq (==) (()), _CONSTM_ Eq (/=) (())] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Eq a, Eq b) => Eq (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1111 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11111 _N_ _N_ _N_ _N_ #-}
+instance Eq (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool)] [_CONSTM_ Eq (==) ((Int, Int)), _CONSTM_ Eq (/=) ((Int, Int))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Int#) (u1 :: Int) (u2 :: Int#) (u3 :: Int) -> case _#_ eqInt# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> _#_ eqInt# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: (Int, Int)) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u1 of { _ALG_ _TUP_2 (u5 :: Int) (u6 :: Int) -> case u5 of { _ALG_ I# (u7 :: Int#) -> case _#_ eqInt# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ I# (u8 :: Int#) -> case u6 of { _ALG_ I# (u9 :: Int#) -> _#_ eqInt# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Eq (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool)] [_CONSTM_ Eq (==) ((_PackedString, _PackedString)), _CONSTM_ Eq (/=) ((_PackedString, _PackedString))] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Eq b) => Eq (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Bool -> Bool -> Bool), (Bool -> Bool -> Bool)] [_CONSTM_ Eq (==) (Bool), _CONSTM_ Eq (/=) (Bool)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> case u1 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ }; False -> u1; _NO_DEFLT_ } _N_ #-}
+instance Eq Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Char -> Char -> Bool), (Char -> Char -> Bool)] [_CONSTM_ Eq (==) (Char), _CONSTM_ Eq (/=) (Char)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ eqChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ eqChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ neChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ neChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq a => Eq (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Eq (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Complex Double -> Complex Double -> Bool), (Complex Double -> Complex Double -> Bool)] [_CONSTM_ Eq (==) (Complex Double), _CONSTM_ Eq (/=) (Complex Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ eqDouble# [] [u0, u2] of { _ALG_ True -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ eqDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ eqDouble# [] [u4, u7] of { _ALG_ True -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ eqDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _F_ _IF_ARGS_ 0 4 XCXC 7 \ (u0 :: Double#) (u1 :: Double) (u2 :: Double#) (u3 :: Double) -> case _#_ neDouble# [] [u0, u2] of { _ALG_ True -> _!_ True [] []; False -> case u1 of { _ALG_ D# (u4 :: Double#) -> case u3 of { _ALG_ D# (u5 :: Double#) -> _#_ neDouble# [] [u4, u5]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u2 of { _ALG_ D# (u4 :: Double#) -> case u1 of { _ALG_ (:+) (u5 :: Double) (u6 :: Double) -> case u5 of { _ALG_ D# (u7 :: Double#) -> case _#_ neDouble# [] [u4, u7] of { _ALG_ True -> _!_ True [] []; False -> case u3 of { _ALG_ D# (u8 :: Double#) -> case u6 of { _ALG_ D# (u9 :: Double#) -> _#_ neDouble# [] [u8, u9]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Double -> Double -> Bool), (Double -> Double -> Bool)] [_CONSTM_ Eq (==) (Double), _CONSTM_ Eq (/=) (Double)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ eqDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ eqDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ neDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ neDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Float -> Float -> Bool), (Float -> Float -> Bool)] [_CONSTM_ Eq (==) (Float), _CONSTM_ Eq (/=) (Float)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ eqFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ eqFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ neFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ neFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Int -> Int -> Bool), (Int -> Int -> Bool)] [_CONSTM_ Eq (==) (Int), _CONSTM_ Eq (/=) (Int)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ eqInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ eqInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ neInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ neInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Integer -> Integer -> Bool), (Integer -> Integer -> Bool)] [_CONSTM_ Eq (==) (Integer), _CONSTM_ Eq (/=) (Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ True [] []; (u8 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ 0# -> _!_ False [] []; (u7 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ 0# -> _!_ False [] []; (u8 :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Eq (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool)] [_CONSTM_ Eq (==) (Ratio Integer), _CONSTM_ Eq (/=) (Ratio Integer)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ True [] []; (ug :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(U(PPP)L)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Ratio Integer) -> case u4 of { _ALG_ (:%) (u5 :: Integer) (u6 :: Integer) -> case u5 of { _ALG_ J# (u7 :: Int#) (u8 :: Int#) (u9 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u7, u8, u9] of { _PRIM_ 0# -> case u3 of { _ALG_ J# (ua :: Int#) (ub :: Int#) (uc :: ByteArray#) -> case u6 of { _ALG_ J# (ud :: Int#) (ue :: Int#) (uf :: ByteArray#) -> case _#_ cmpInteger# [] [ua, ub, uc, ud, ue, uf] of { _PRIM_ 0# -> _!_ False [] []; (ug :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ }; (uh :: Int#) -> _!_ True [] [] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance Eq a => Eq [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Eq [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool)] [_CONSTM_ Eq (==) ([Char]), _CONSTM_ Eq (/=) ([Char])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool)] [_CONSTM_ Eq (==) ([Int]), _CONSTM_ Eq (/=) ([Int])] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool)] [_CONSTM_ Eq (==) (_Addr), _CONSTM_ Eq (/=) (_Addr)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ eqAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ eqAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ neAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ neAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Eq _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool)] [_CONSTM_ Eq (==) (_PackedString), _CONSTM_ Eq (/=) (_PackedString)] _N_
+ (==) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (/=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Eq _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _TUP_2 [(_Word -> _Word -> Bool), (_Word -> _Word -> Bool)] [_CONSTM_ Eq (==) (_Word), _CONSTM_ Eq (/=) (_Word)] _N_
+ (==) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ eqWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ eqWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (/=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ neWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ neWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance RealFloat a => Floating (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Floating (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional (Complex Double)}}, (Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double), (Complex Double -> Complex Double)] [_DFUN_ Fractional (Complex Double), _CONSTM_ Floating pi (Complex Double), _CONSTM_ Floating exp (Complex Double), _CONSTM_ Floating log (Complex Double), _CONSTM_ Floating sqrt (Complex Double), _CONSTM_ Floating (**) (Complex Double), _CONSTM_ Floating logBase (Complex Double), _CONSTM_ Floating sin (Complex Double), _CONSTM_ Floating cos (Complex Double), _CONSTM_ Floating tan (Complex Double), _CONSTM_ Floating asin (Complex Double), _CONSTM_ Floating acos (Complex Double), _CONSTM_ Floating atan (Complex Double), _CONSTM_ Floating sinh (Complex Double), _CONSTM_ Floating cosh (Complex Double), _CONSTM_ Floating tanh (Complex Double), _CONSTM_ Floating asinh (Complex Double), _CONSTM_ Floating acosh (Complex Double), _CONSTM_ Floating atanh (Complex Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _N_ _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ log = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ (**) = _A_ 2 _U_ 21 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Floating Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Double}}, Double, (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double)] [_DFUN_ Fractional (Double), _CONSTM_ Floating pi (Double), _CONSTM_ Floating exp (Double), _CONSTM_ Floating log (Double), _CONSTM_ Floating sqrt (Double), _CONSTM_ Floating (**) (Double), _CONSTM_ Floating logBase (Double), _CONSTM_ Floating sin (Double), _CONSTM_ Floating cos (Double), _CONSTM_ Floating tan (Double), _CONSTM_ Floating asin (Double), _CONSTM_ Floating acos (Double), _CONSTM_ Floating atan (Double), _CONSTM_ Floating sinh (Double), _CONSTM_ Floating cosh (Double), _CONSTM_ Floating tanh (Double), _CONSTM_ Floating asinh (Double), _CONSTM_ Floating acosh (Double), _CONSTM_ Floating atanh (Double)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ D# [] [3.1415926535897931##] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ expDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ expDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sqrtDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sqrtDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ powerDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ powerDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ logDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> case _#_ logDouble# [] [u0] of { _PRIM_ (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case _#_ logDouble# [] [u2] of { _PRIM_ (u3 :: Double#) -> case u0 of { _ALG_ D# (u4 :: Double#) -> case _#_ logDouble# [] [u4] of { _PRIM_ (u5 :: Double#) -> case _#_ divideDouble# [] [u3, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] } }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ cosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ cosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ asinDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ asinDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ acosDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ acosDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ atanDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ atanDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ sinhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ sinhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ coshDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ coshDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ tanhDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ tanhDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Floating Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 20 _!_ _TUP_19 [{{Fractional Float}}, Float, (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float)] [_DFUN_ Fractional (Float), _CONSTM_ Floating pi (Float), _CONSTM_ Floating exp (Float), _CONSTM_ Floating log (Float), _CONSTM_ Floating sqrt (Float), _CONSTM_ Floating (**) (Float), _CONSTM_ Floating logBase (Float), _CONSTM_ Floating sin (Float), _CONSTM_ Floating cos (Float), _CONSTM_ Floating tan (Float), _CONSTM_ Floating asin (Float), _CONSTM_ Floating acos (Float), _CONSTM_ Floating atan (Float), _CONSTM_ Floating sinh (Float), _CONSTM_ Floating cosh (Float), _CONSTM_ Floating tanh (Float), _CONSTM_ Floating asinh (Float), _CONSTM_ Floating acosh (Float), _CONSTM_ Floating atanh (Float)] _N_
+ pi = _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ F# [] [3.1415926535897931#] _N_,
+ exp = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ expFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ expFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ log = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ logFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ logFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sqrt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sqrtFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sqrtFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ (**) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ powerFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ powerFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ logBase = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ sin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ cosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ cosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asin = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ asinFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ asinFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ acos = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ acosFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ acosFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ atan = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ atanFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ atanFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ sinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ sinhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ sinhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ cosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ coshFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ coshFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ tanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ tanhFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ tanhFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ asinh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ acosh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ atanh = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance RealFloat a => Fractional (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Complex Double)}}, (Complex Double -> Complex Double -> Complex Double), (Complex Double -> Complex Double), (Ratio Integer -> Complex Double)] [_DFUN_ Num (Complex Double), _CONSTM_ Fractional (/) (Complex Double), _CONSTM_ Fractional recip (Complex Double), _CONSTM_ Fractional fromRational (Complex Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Double}}, (Double -> Double -> Double), (Double -> Double), (Ratio Integer -> Double)] [_DFUN_ Num (Double), _CONSTM_ Fractional (/) (Double), _CONSTM_ Fractional recip (Double), _CONSTM_ Fractional fromRational (Double)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ divideDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ divideDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ divideDouble# [] [1.0000000000000000##, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Fractional Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num Float}}, (Float -> Float -> Float), (Float -> Float), (Ratio Integer -> Float)] [_DFUN_ Num (Float), _CONSTM_ Fractional (/) (Float), _CONSTM_ Fractional recip (Float), _CONSTM_ Fractional fromRational (Float)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ divideFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ divideFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ recip = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ fromRational = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Fractional (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Fractional (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Num (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _CONSTM_ Fractional (/) (Ratio Integer), _CONSTM_ Fractional recip (Ratio Integer), _CONSTM_ Fractional fromRational (Ratio Integer)] _N_
+ (/) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(U(PPP)L)" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ recip = _A_ 1 _U_ 1 _N_ _S_ "U(U(PPP)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance Integral Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Int}}, {{Ix Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> (Int, Int)), (Int -> Int -> (Int, Int)), (Int -> Bool), (Int -> Bool), (Int -> Integer), (Int -> Int)] [_DFUN_ Real (Int), _DFUN_ Ix (Int), _CONSTM_ Integral quot (Int), _CONSTM_ Integral rem (Int), _CONSTM_ Integral div (Int), _CONSTM_ Integral mod (Int), _CONSTM_ Integral quotRem (Int), _CONSTM_ Integral divMod (Int), _CONSTM_ Integral even (Int), _CONSTM_ Integral odd (Int), _CONSTM_ Integral toInteger (Int), _CONSTM_ Integral toInt (Int)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ quotInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.quot{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ quotInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int#) (u1 :: Int#) -> case u1 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u2 :: Int#) -> case _#_ remInt# [] [u0, u1] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } } _N_} _F_ _IF_ARGS_ 0 2 CC 7 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u2 of { _PRIM_ 0# -> _APP_ _TYAPP_ error { Int } [ _NOREP_S_ "Integral.Int.rem{PreludeCore}: divide by 0\n" ]; (u3 :: Int#) -> case u0 of { _ALG_ I# (u4 :: Int#) -> case _#_ remInt# [] [u4, u2] of { _PRIM_ (u5 :: Int#) -> _!_ I# [] [u5] }; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ mod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Integral Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 13 _!_ _TUP_12 [{{Real Integer}}, {{Ix Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> (Integer, Integer)), (Integer -> Integer -> (Integer, Integer)), (Integer -> Bool), (Integer -> Bool), (Integer -> Integer), (Integer -> Int)] [_DFUN_ Real (Integer), _DFUN_ Ix (Integer), _CONSTM_ Integral quot (Integer), _CONSTM_ Integral rem (Integer), _CONSTM_ Integral div (Integer), _CONSTM_ Integral mod (Integer), _CONSTM_ Integral quotRem (Integer), _CONSTM_ Integral divMod (Integer), _CONSTM_ Integral even (Integer), _CONSTM_ Integral odd (Integer), _CONSTM_ Integral toInteger (Integer), _CONSTM_ Integral toInt (Integer)] _N_
+ quot = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ rem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral quotRem (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral quotRem (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ div = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u4; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u2; _NO_DEFLT_ } _N_,
+ mod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 7 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case _APP_ _WRKR_ _CONSTM_ Integral divMod (Integer) [ u0, u1, u2, u3 ] of { _ALG_ _TUP_2 (u4 :: Integer) (u5 :: Integer) -> u5; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Integer) (u1 :: Integer) -> case _APP_ _CONSTM_ Integral divMod (Integer) [ u0, u1 ] of { _ALG_ _TUP_2 (u2 :: Integer) (u3 :: Integer) -> u3; _NO_DEFLT_ } _N_,
+ quotRem = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ divMod = _A_ 2 _U_ 12 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ even = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ odd = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ toInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ toInt = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ #-}
+instance Ix ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord ()}}, (((), ()) -> [()]), (((), ()) -> () -> Int), (((), ()) -> () -> Bool)] [_DFUN_ Ord (()), _CONSTM_ Ix range (()), _CONSTM_ Ix index (()), _CONSTM_ Ix inRange (())] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 5 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ I# [] [0#]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(EE)E" {_A_ 3 _U_ 111 _N_ _N_ _F_ _IF_ARGS_ 0 3 CCC 4 \ (u0 :: ()) (u1 :: ()) (u2 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> case u2 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: ((), ())) (u1 :: ()) -> case u0 of { _ALG_ _TUP_2 (u2 :: ()) (u3 :: ()) -> case u2 of { _ALG_ _TUP_0 -> case u3 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ix a, Ix b) => Ix (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c) => Ix (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d) => Ix (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Ix b, Ix c, Ix d, Ix e) => Ix (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 222222 _N_ _N_ _N_ _N_ #-}
+instance Ix (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord (Int, Int)}}, (((Int, Int), (Int, Int)) -> [(Int, Int)]), (((Int, Int), (Int, Int)) -> (Int, Int) -> Int), (((Int, Int), (Int, Int)) -> (Int, Int) -> Bool)] [_DFUN_ Ord ((Int, Int)), _CONSTM_ Ix range ((Int, Int)), _CONSTM_ Ix index ((Int, Int)), _CONSTM_ Ix inRange ((Int, Int))] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(SS)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)U(P))" {_A_ 4 _U_ 1122 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(SS)U(U(P)L)" {_A_ 4 _U_ 1121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ix b) => Ix (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ix Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Bool}}, ((Bool, Bool) -> [Bool]), ((Bool, Bool) -> Bool -> Int), ((Bool, Bool) -> Bool -> Bool)] [_DFUN_ Ord (Bool), _CONSTM_ Ix range (Bool), _CONSTM_ Ix index (Bool), _CONSTM_ Ix inRange (Bool)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(EE)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(EA)E" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 12 _N_ _S_ "U(EL)E" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Char}}, ((Char, Char) -> [Char]), ((Char, Char) -> Char -> Int), ((Char, Char) -> Char -> Bool)] [_DFUN_ Ord (Char), _CONSTM_ Ix range (Char), _CONSTM_ Ix index (Char), _CONSTM_ Ix inRange (Char)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Char) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Char, Char)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Char) (u2 :: Char) -> _APP_ _CONSTM_ Enum enumFromTo (Char) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ix Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Int}}, ((Int, Int) -> [Int]), ((Int, Int) -> Int -> Int), ((Int, Int) -> Int -> Bool)] [_DFUN_ Ord (Int), _CONSTM_ Ix range (Int), _CONSTM_ Ix index (Int), _CONSTM_ Ix inRange (Int)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ index = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))U(P)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: Int#) -> case _#_ leInt# [] [u0, u2] of { _ALG_ True -> _#_ leInt# [] [u2, u1]; False -> _!_ False [] []; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ \ (u0 :: (Int, Int)) (u1 :: Int) -> case u0 of { _ALG_ _TUP_2 (u2 :: Int) (u3 :: Int) -> case u2 of { _ALG_ I# (u4 :: Int#) -> case u3 of { _ALG_ I# (u5 :: Int#) -> case u1 of { _ALG_ I# (u6 :: Int#) -> case _#_ leInt# [] [u4, u6] of { _ALG_ True -> _#_ leInt# [] [u6, u5]; False -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance Ix Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [{{Ord Integer}}, ((Integer, Integer) -> [Integer]), ((Integer, Integer) -> Integer -> Int), ((Integer, Integer) -> Integer -> Bool)] [_DFUN_ Ord (Integer), _CONSTM_ Ix range (Integer), _CONSTM_ Ix index (Integer), _CONSTM_ Ix inRange (Integer)] _N_
+ range = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Enum enumFromTo (Integer) _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: (Integer, Integer)) -> case u0 of { _ALG_ _TUP_2 (u1 :: Integer) (u2 :: Integer) -> _APP_ _CONSTM_ Enum enumFromTo (Integer) [ u1, u2 ]; _NO_DEFLT_ } _N_,
+ index = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ inRange = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)L)U(PPP)" {_A_ 5 _U_ 22211 _N_ _N_ _F_ _IF_ARGS_ 0 5 XXXCC 9 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) (u4 :: Integer) -> case u4 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> case _#_ leInt# [] [u8, 0#] of { _ALG_ True -> case u3 of { _ALG_ J# (u9 :: Int#) (ua :: Int#) (ub :: ByteArray#) -> case _#_ cmpInteger# [] [u5, u6, u7, u9, ua, ub] of { _PRIM_ (uc :: Int#) -> _#_ leInt# [] [uc, 0#] }; _NO_DEFLT_ }; False -> _!_ False [] []; _NO_DEFLT_ } }; _NO_DEFLT_ } _N_} _N_ _N_ #-}
+instance RealFloat a => Num (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Complex Double)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 1111 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LL)U(LL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 11 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(U(P)L)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Num Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Double}}, {{Text Double}}, (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double), (Double -> Double), (Double -> Double), (Integer -> Double), (Int -> Double)] [_DFUN_ Eq (Double), _DFUN_ Text (Double), _CONSTM_ Num (+) (Double), _CONSTM_ Num (-) (Double), _CONSTM_ Num (*) (Double), _CONSTM_ Num negate (Double), _CONSTM_ Num abs (Double), _CONSTM_ Num signum (Double), _CONSTM_ Num fromInteger (Double), _CONSTM_ Num fromInt (Double)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ plusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ plusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ timesDouble# [] [u0, u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> case _#_ timesDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ negateDouble# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ negateDouble# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Float}}, {{Text Float}}, (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float), (Float -> Float), (Float -> Float), (Integer -> Float), (Int -> Float)] [_DFUN_ Eq (Float), _DFUN_ Text (Float), _CONSTM_ Num (+) (Float), _CONSTM_ Num (-) (Float), _CONSTM_ Num (*) (Float), _CONSTM_ Num negate (Float), _CONSTM_ Num abs (Float), _CONSTM_ Num signum (Float), _CONSTM_ Num fromInteger (Float), _CONSTM_ Num fromInt (Float)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ plusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ plusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ minusFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ minusFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Float#) (u1 :: Float#) -> case _#_ timesFloat# [] [u0, u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> case _#_ timesFloat# [] [u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ negateFloat# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ negateFloat# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeFloat# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Float#) -> _!_ F# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeFloat# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+instance Num Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Int}}, {{Text Int}}, (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int), (Int -> Int), (Int -> Int), (Integer -> Int), (Int -> Int)] [_DFUN_ Eq (Int), _DFUN_ Text (Int), _CONSTM_ Num (+) (Int), _CONSTM_ Num (-) (Int), _CONSTM_ Num (*) (Int), _CONSTM_ Num negate (Int), _CONSTM_ Num abs (Int), _CONSTM_ Num signum (Int), _CONSTM_ Num fromInteger (Int), _CONSTM_ Num fromInt (Int)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ plusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ plusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ timesInt# [] [u0, u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> case _#_ timesInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ negateInt# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ negateInt# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Int#) -> _!_ I# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> u0 _N_ #-}
+instance Num Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq Integer}}, {{Text Integer}}, (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Integer -> Integer), (Int -> Integer)] [_DFUN_ Eq (Integer), _DFUN_ Text (Integer), _CONSTM_ Num (+) (Integer), _CONSTM_ Num (-) (Integer), _CONSTM_ Num (*) (Integer), _CONSTM_ Num negate (Integer), _CONSTM_ Num abs (Integer), _CONSTM_ Num signum (Integer), _CONSTM_ Num fromInteger (Integer), _CONSTM_ Num fromInt (Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ plusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ plusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ minusInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ minusInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 5 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> _#_ timesInteger# [] [u0, u1, u2, u4, u5, u6]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 6 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> _#_ timesInteger# [] [u2, u3, u4, u5, u6, u7]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _#_ negateInteger# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 C 5 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> _#_ negateInteger# [] [u1, u2, u3]; _NO_DEFLT_ } _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 4 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> _!_ J# [] [u0, u1, u2] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Integer) -> u0 _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ #-}
+instance Integral a => Num (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Num (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{Eq (Ratio Integer)}}, {{Text (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer), (Integer -> Ratio Integer), (Int -> Ratio Integer)] [_DFUN_ Eq (Ratio Integer), _DFUN_ Text (Ratio Integer), _CONSTM_ Num (+) (Ratio Integer), _CONSTM_ Num (-) (Ratio Integer), _CONSTM_ Num (*) (Ratio Integer), _CONSTM_ Num negate (Ratio Integer), _CONSTM_ Num abs (Ratio Integer), _CONSTM_ Num signum (Ratio Integer), _CONSTM_ Num fromInteger (Ratio Integer), _CONSTM_ Num fromInt (Ratio Integer)] _N_
+ (+) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (-) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 12221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (*) = _A_ 2 _U_ 11 _N_ _S_ "U(LU(PPP))U(LU(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ negate = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ abs = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ signum = _A_ 1 _U_ 1 _N_ _S_ "U(LA)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_,
+ fromInteger = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ fromInt = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq ()}}, (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> Bool), (() -> () -> ()), (() -> () -> ()), (() -> () -> _CMP_TAG)] [_DFUN_ Eq (()), _CONSTM_ Ord (<) (()), _CONSTM_ Ord (<=) (()), _CONSTM_ Ord (>=) (()), _CONSTM_ Ord (>) (()), _CONSTM_ Ord max (()), _CONSTM_ Ord min (()), _CONSTM_ Ord _tagCmp (())] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ True [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ False [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CX 2 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> u1; _NO_DEFLT_ } _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: ()) (u1 :: ()) -> case u0 of { _ALG_ _TUP_0 -> case u1 of { _ALG_ _TUP_0 -> _!_ _EQ [] []; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+instance (Ord a, Ord b) => Ord (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c) => Ord (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 1112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 11112 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 6 _U_ 111112 _N_ _N_ _N_ _N_ #-}
+instance Ord (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Int, Int)}}, ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> Bool), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> (Int, Int)), ((Int, Int) -> (Int, Int) -> _CMP_TAG)] [_DFUN_ Eq ((Int, Int)), _CONSTM_ Ord (<) ((Int, Int)), _CONSTM_ Ord (<=) ((Int, Int)), _CONSTM_ Ord (>=) ((Int, Int)), _CONSTM_ Ord (>) ((Int, Int)), _CONSTM_ Ord max ((Int, Int)), _CONSTM_ Ord min ((Int, Int)), _CONSTM_ Ord _tagCmp ((Int, Int))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(U(P)L)" {_A_ 4 _U_ 2121 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (_PackedString, _PackedString)}}, ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> Bool), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> (_PackedString, _PackedString)), ((_PackedString, _PackedString) -> (_PackedString, _PackedString) -> _CMP_TAG)] [_DFUN_ Eq ((_PackedString, _PackedString)), _CONSTM_ Ord (<) ((_PackedString, _PackedString)), _CONSTM_ Ord (<=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>=) ((_PackedString, _PackedString)), _CONSTM_ Ord (>) ((_PackedString, _PackedString)), _CONSTM_ Ord max ((_PackedString, _PackedString)), _CONSTM_ Ord min ((_PackedString, _PackedString)), _CONSTM_ Ord _tagCmp ((_PackedString, _PackedString))] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(SL)U(SL)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Ix a, Ord b) => Ord (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 112 _N_ _N_ _N_ _N_ #-}
+instance Ord Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Bool}}, (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> Bool), (Bool -> Bool -> _CMP_TAG)] [_DFUN_ Eq (Bool), _CONSTM_ Ord (<) (Bool), _CONSTM_ Ord (<=) (Bool), _CONSTM_ Ord (>=) (Bool), _CONSTM_ Ord (>) (Bool), _CONSTM_ Ord max (Bool), _CONSTM_ Ord min (Bool), _CONSTM_ Ord _tagCmp (Bool)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "EE" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "EE" _N_ _N_ #-}
+instance Ord Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Char}}, (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Bool), (Char -> Char -> Char), (Char -> Char -> Char), (Char -> Char -> _CMP_TAG)] [_DFUN_ Eq (Char), _CONSTM_ Ord (<) (Char), _CONSTM_ Ord (<=) (Char), _CONSTM_ Ord (>=) (Char), _CONSTM_ Ord (>) (Char), _CONSTM_ Ord max (Char), _CONSTM_ Ord min (Char), _CONSTM_ Ord _tagCmp (Char)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ ltChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ ltChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ leChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ leChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ geChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ geChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Char#) (u1 :: Char#) -> _#_ gtChar# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Char) (u1 :: Char) -> case u0 of { _ALG_ C# (u2 :: Char#) -> case u1 of { _ALG_ C# (u3 :: Char#) -> _#_ gtChar# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Double}}, (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Bool), (Double -> Double -> Double), (Double -> Double -> Double), (Double -> Double -> _CMP_TAG)] [_DFUN_ Eq (Double), _CONSTM_ Ord (<) (Double), _CONSTM_ Ord (<=) (Double), _CONSTM_ Ord (>=) (Double), _CONSTM_ Ord (>) (Double), _CONSTM_ Ord max (Double), _CONSTM_ Ord min (Double), _CONSTM_ Ord _tagCmp (Double)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ ltDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ ltDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ leDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ leDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ geDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ geDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Double#) (u1 :: Double#) -> _#_ gtDouble# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Double) (u1 :: Double) -> case u0 of { _ALG_ D# (u2 :: Double#) -> case u1 of { _ALG_ D# (u3 :: Double#) -> _#_ gtDouble# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Float}}, (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Bool), (Float -> Float -> Float), (Float -> Float -> Float), (Float -> Float -> _CMP_TAG)] [_DFUN_ Eq (Float), _CONSTM_ Ord (<) (Float), _CONSTM_ Ord (<=) (Float), _CONSTM_ Ord (>=) (Float), _CONSTM_ Ord (>) (Float), _CONSTM_ Ord max (Float), _CONSTM_ Ord min (Float), _CONSTM_ Ord _tagCmp (Float)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ ltFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ ltFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ leFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ leFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ geFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ geFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Float#) (u1 :: Float#) -> _#_ gtFloat# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Float) (u1 :: Float) -> case u0 of { _ALG_ F# (u2 :: Float#) -> case u1 of { _ALG_ F# (u3 :: Float#) -> _#_ gtFloat# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Int}}, (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Bool), (Int -> Int -> Int), (Int -> Int -> Int), (Int -> Int -> _CMP_TAG)] [_DFUN_ Eq (Int), _CONSTM_ Ord (<) (Int), _CONSTM_ Ord (<=) (Int), _CONSTM_ Ord (>=) (Int), _CONSTM_ Ord (>) (Int), _CONSTM_ Ord max (Int), _CONSTM_ Ord min (Int), _CONSTM_ Ord _tagCmp (Int)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ ltInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ ltInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ leInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ leInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ geInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ geInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Int#) (u1 :: Int#) -> _#_ gtInt# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: Int) (u1 :: Int) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case u1 of { _ALG_ I# (u3 :: Int#) -> _#_ gtInt# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq Integer}}, (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Bool), (Integer -> Integer -> Integer), (Integer -> Integer -> Integer), (Integer -> Integer -> _CMP_TAG)] [_DFUN_ Eq (Integer), _CONSTM_ Ord (<) (Integer), _CONSTM_ Ord (<=) (Integer), _CONSTM_ Ord (>=) (Integer), _CONSTM_ Ord (>) (Integer), _CONSTM_ Ord max (Integer), _CONSTM_ Ord min (Integer), _CONSTM_ Ord _tagCmp (Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ ltInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ ltInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ leInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ leInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ geInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ geInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXC 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Integer) -> case u3 of { _ALG_ J# (u4 :: Int#) (u5 :: Int#) (u6 :: ByteArray#) -> case _#_ cmpInteger# [] [u0, u1, u2, u4, u5, u6] of { _PRIM_ (u7 :: Int#) -> _#_ gtInt# [] [u7, 0#] }; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 2 CC 4 \ (u0 :: Integer) (u1 :: Integer) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ J# (u5 :: Int#) (u6 :: Int#) (u7 :: ByteArray#) -> case _#_ cmpInteger# [] [u2, u3, u4, u5, u6, u7] of { _PRIM_ (u8 :: Int#) -> _#_ gtInt# [] [u8, 0#] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Integral a => Ord (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Ord (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq (Ratio Integer)}}, (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Bool), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> Ratio Integer), (Ratio Integer -> Ratio Integer -> _CMP_TAG)] [_DFUN_ Eq (Ratio Integer), _CONSTM_ Ord (<) (Ratio Integer), _CONSTM_ Ord (<=) (Ratio Integer), _CONSTM_ Ord (>=) (Ratio Integer), _CONSTM_ Ord (>) (Ratio Integer), _CONSTM_ Ord max (Ratio Integer), _CONSTM_ Ord min (Ratio Integer), _CONSTM_ Ord _tagCmp (Ratio Integer)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_,
+ max = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 12 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(U(PPP)U(PPP))U(U(PPP)U(PPP))" {_A_ 5 _U_ 22221 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord a => Ord [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Ord [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Char]}}, ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> Bool), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> [Char]), ([Char] -> [Char] -> _CMP_TAG)] [_DFUN_ Eq ([Char]), _CONSTM_ Ord (<) ([Char]), _CONSTM_ Ord (<=) ([Char]), _CONSTM_ Ord (>=) ([Char]), _CONSTM_ Ord (>) ([Char]), _CONSTM_ Ord max ([Char]), _CONSTM_ Ord min ([Char]), _CONSTM_ Ord _tagCmp ([Char])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq [Int]}}, ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> Bool), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> [Int]), ([Int] -> [Int] -> _CMP_TAG)] [_DFUN_ Eq ([Int]), _CONSTM_ Ord (<) ([Int]), _CONSTM_ Ord (<=) ([Int]), _CONSTM_ Ord (>=) ([Int]), _CONSTM_ Ord (>) ([Int]), _CONSTM_ Ord max ([Int]), _CONSTM_ Ord min ([Int]), _CONSTM_ Ord _tagCmp ([Int])] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Addr}}, (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> Bool), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _Addr), (_Addr -> _Addr -> _CMP_TAG)] [_DFUN_ Eq (_Addr), _CONSTM_ Ord (<) (_Addr), _CONSTM_ Ord (<=) (_Addr), _CONSTM_ Ord (>=) (_Addr), _CONSTM_ Ord (>) (_Addr), _CONSTM_ Ord max (_Addr), _CONSTM_ Ord min (_Addr), _CONSTM_ Ord _tagCmp (_Addr)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ ltAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ ltAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ leAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ leAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ geAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ geAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Addr#) (u1 :: Addr#) -> _#_ gtAddr# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Addr) (u1 :: _Addr) -> case u0 of { _ALG_ A# (u2 :: Addr#) -> case u1 of { _ALG_ A# (u3 :: Addr#) -> _#_ gtAddr# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Ord _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _PackedString}}, (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> Bool), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _PackedString), (_PackedString -> _PackedString -> _CMP_TAG)] [_DFUN_ Eq (_PackedString), _CONSTM_ Ord (<) (_PackedString), _CONSTM_ Ord (<=) (_PackedString), _CONSTM_ Ord (>=) (_PackedString), _CONSTM_ Ord (>) (_PackedString), _CONSTM_ Ord max (_PackedString), _CONSTM_ Ord min (_PackedString), _CONSTM_ Ord _tagCmp (_PackedString)] _N_
+ (<) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (<=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>=) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ (>) = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_,
+ max = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ min = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+instance Ord _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 9 _!_ _TUP_8 [{{Eq _Word}}, (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> Bool), (_Word -> _Word -> _Word), (_Word -> _Word -> _Word), (_Word -> _Word -> _CMP_TAG)] [_DFUN_ Eq (_Word), _CONSTM_ Ord (<) (_Word), _CONSTM_ Ord (<=) (_Word), _CONSTM_ Ord (>=) (_Word), _CONSTM_ Ord (>) (_Word), _CONSTM_ Ord max (_Word), _CONSTM_ Ord min (_Word), _CONSTM_ Ord _tagCmp (_Word)] _N_
+ (<) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ ltWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ ltWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (<=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ leWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ leWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>=) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ geWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ geWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ (>) = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 1 \ (u0 :: Word#) (u1 :: Word#) -> _#_ gtWord# [] [u0, u1] _N_} _F_ _IF_ARGS_ 0 2 CC 3 \ (u0 :: _Word) (u1 :: _Word) -> case u0 of { _ALG_ W# (u2 :: Word#) -> case u1 of { _ALG_ W# (u3 :: Word#) -> _#_ gtWord# [] [u2, u3]; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ max = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ min = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ _tagCmp = _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Double}}, {{Enum Double}}, (Double -> Ratio Integer)] [_DFUN_ Num (Double), _DFUN_ Enum (Double), _CONSTM_ Real toRational (Double)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Float}}, {{Enum Float}}, (Float -> Ratio Integer)] [_DFUN_ Num (Float), _DFUN_ Enum (Float), _CONSTM_ Real toRational (Float)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Real Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Int}}, {{Enum Int}}, (Int -> Ratio Integer)] [_DFUN_ Num (Int), _DFUN_ Enum (Int), _CONSTM_ Real toRational (Int)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Real Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num Integer}}, {{Enum Integer}}, (Integer -> Ratio Integer)] [_DFUN_ Num (Integer), _DFUN_ Enum (Integer), _CONSTM_ Real toRational (Integer)] _N_
+ toRational = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Real (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 122 _N_ _N_ _N_ _N_ #-}
+instance Real (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 4 _!_ _TUP_3 [{{Num (Ratio Integer)}}, {{Enum (Ratio Integer)}}, (Ratio Integer -> Ratio Integer)] [_DFUN_ Num (Ratio Integer), _DFUN_ Enum (Ratio Integer), _CONSTM_ Real toRational (Ratio Integer)] _N_
+ toRational = _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Integer) (u1 :: Integer) -> _!_ (:%) [Integer] [u0, u1] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Ratio Integer) -> u0 _N_ #-}
+instance RealFloat Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Double}}, {{Floating Double}}, (Double -> Integer), (Double -> Int), (Double -> (Int, Int)), (Double -> (Integer, Int)), (Integer -> Int -> Double), (Double -> Int), (Double -> Double), (Int -> Double -> Double)] [_DFUN_ RealFrac (Double), _DFUN_ Floating (Double), _CONSTM_ RealFloat floatRadix (Double), _CONSTM_ RealFloat floatDigits (Double), _CONSTM_ RealFloat floatRange (Double), _CONSTM_ RealFloat decodeFloat (Double), _CONSTM_ RealFloat encodeFloat (Double), _CONSTM_ RealFloat exponent (Double), _CONSTM_ RealFloat significand (Double), _CONSTM_ RealFloat scaleFloat (Double)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [53#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Double) -> _!_ I# [] [53#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeDouble# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeDouble# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Double#) -> _!_ D# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFloat Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 11 _!_ _TUP_10 [{{RealFrac Float}}, {{Floating Float}}, (Float -> Integer), (Float -> Int), (Float -> (Int, Int)), (Float -> (Integer, Int)), (Integer -> Int -> Float), (Float -> Int), (Float -> Float), (Int -> Float -> Float)] [_DFUN_ RealFrac (Float), _DFUN_ Floating (Float), _CONSTM_ RealFloat floatRadix (Float), _CONSTM_ RealFloat floatDigits (Float), _CONSTM_ RealFloat floatRange (Float), _CONSTM_ RealFloat decodeFloat (Float), _CONSTM_ RealFloat encodeFloat (Float), _CONSTM_ RealFloat exponent (Float), _CONSTM_ RealFloat significand (Float), _CONSTM_ RealFloat scaleFloat (Float)] _N_
+ floatRadix = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _#_ int2Integer# [] [2#] _N_} _N_ _N_,
+ floatDigits = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [24#] _N_} _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Float) -> _!_ I# [] [24#] _N_,
+ floatRange = _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _N_ _N_} _N_ _N_,
+ decodeFloat = _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ encodeFloat = _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _F_ _IF_ARGS_ 0 4 XXXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) (u3 :: Int#) -> case _#_ encodeFloat# [] [u0, u1, u2, u3] of { _PRIM_ (u4 :: Float#) -> _!_ F# [] [u4] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Integer) (u1 :: Int) -> case u0 of { _ALG_ J# (u2 :: Int#) (u3 :: Int#) (u4 :: ByteArray#) -> case u1 of { _ALG_ I# (u5 :: Int#) -> case _#_ encodeFloat# [] [u2, u3, u4, u5] of { _PRIM_ (u6 :: Float#) -> _!_ F# [] [u6] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_,
+ exponent = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ significand = _A_ 1 _U_ 2 _N_ _N_ _N_ _N_,
+ scaleFloat = _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Double}}, {{Fractional Double}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> (a$z1, Double)), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Double -> a$z1)] [_DFUN_ Real (Double), _DFUN_ Fractional (Double), _CONSTM_ RealFrac properFraction (Double), _CONSTM_ RealFrac truncate (Double), _CONSTM_ RealFrac round (Double), _CONSTM_ RealFrac ceiling (Double), _CONSTM_ RealFrac floor (Double)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance RealFrac Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real Float}}, {{Fractional Float}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> (a$z1, Float)), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Float -> a$z1)] [_DFUN_ Real (Float), _DFUN_ Fractional (Float), _CONSTM_ RealFrac properFraction (Float), _CONSTM_ RealFrac truncate (Float), _CONSTM_ RealFrac round (Float), _CONSTM_ RealFrac ceiling (Float), _CONSTM_ RealFrac floor (Float)] _N_
+ properFraction = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Integral a => RealFrac (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance RealFrac (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 8 _!_ _TUP_7 [{{Real (Ratio Integer)}}, {{Fractional (Ratio Integer)}}, _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> (a$z1, Ratio Integer)), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1), _forall_ a$z1 =>{{Integral a$z1}} -> (Ratio Integer -> a$z1)] [_DFUN_ Real (Ratio Integer), _DFUN_ Fractional (Ratio Integer), _CONSTM_ RealFrac properFraction (Ratio Integer), _CONSTM_ RealFrac truncate (Ratio Integer), _CONSTM_ RealFrac round (Ratio Integer), _CONSTM_ RealFrac ceiling (Ratio Integer), _CONSTM_ RealFrac floor (Ratio Integer)] _N_
+ properFraction = _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ truncate = _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Integral u0}}) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeCore _truncate { (Ratio Integer) } { u0 } [ _CONSTM_ RealFrac properFraction (Ratio Integer), u1 ] _N_,
+ round = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ ceiling = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_,
+ floor = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text ()
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((), [Char])]), (Int -> () -> [Char] -> [Char]), ([Char] -> [([()], [Char])]), ([()] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (()), _CONSTM_ Text showsPrec (()), _CONSTM_ Text readList (()), _CONSTM_ Text showList (())] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 2 CX 4 \ (u0 :: ()) (u1 :: [Char]) -> case u0 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u1 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 3 XCX 4 \ (u0 :: Int) (u1 :: ()) (u2 :: [Char]) -> case u1 of { _ALG_ _TUP_0 -> _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ _NOREP_S_ "()", u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (a, b)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c) => Text (a, b, c)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d) => Text (a, b, c, d)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b, Text c, Text d, Text e) => Text (a, b, c, d, e)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 5 _U_ 22222 _N_ _N_ _N_ _N_ #-}
+instance Text (Int, Int)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Int, Int), [Char])]), (Int -> (Int, Int) -> [Char] -> [Char]), ([Char] -> [([(Int, Int)], [Char])]), ([(Int, Int)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Int, Int)), _CONSTM_ Text showsPrec ((Int, Int)), _CONSTM_ Text readList ((Int, Int)), _CONSTM_ Text showList ((Int, Int))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (Integer, Integer)
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [((Integer, Integer), [Char])]), (Int -> (Integer, Integer) -> [Char] -> [Char]), ([Char] -> [([(Integer, Integer)], [Char])]), ([(Integer, Integer)] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ((Integer, Integer)), _CONSTM_ Text showsPrec ((Integer, Integer)), _CONSTM_ Text readList ((Integer, Integer)), _CONSTM_ Text showList ((Integer, Integer))] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(LL)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text (a -> b)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance (Ix a, Text a, Text b) => Text (Array a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Assoc a b)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text Bool
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Bool, [Char])]), (Int -> Bool -> [Char] -> [Char]), ([Char] -> [([Bool], [Char])]), ([Bool] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Bool), _CONSTM_ Text showsPrec (Bool), _CONSTM_ Text readList (Bool), _CONSTM_ Text showList (Bool)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AEL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Char, [Char])]), (Int -> Char -> [Char] -> [Char]), ([Char] -> [([Char], [Char])]), ([Char] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Char), _CONSTM_ Text showsPrec (Char), _CONSTM_ Text readList (Char), _CONSTM_ Text showList (Char)] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "AU(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Complex a)
+ {-# GHC_PRAGMA _M_ PreludeComplex {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Double, [Char])]), (Int -> Double -> [Char] -> [Char]), ([Char] -> [([Double], [Char])]), ([Double] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Double), _CONSTM_ Text showsPrec (Double), _CONSTM_ Text readList (Double), _CONSTM_ Text showList (Double)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText readFloat [ (Double) ], u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 212 _N_ _S_ "LU(P)" {_A_ 2 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u1 ] _N_} _F_ _IF_ARGS_ 0 2 XC 5 \ (u0 :: Int) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> _APP_ _WRKR_ _SPEC_ _ORIG_ PreludeText showSigned [ (Double) ] [ _SPEC_ _ORIG_ PreludeText showFloat [ (Double) ], u0, u2 ]; _NO_DEFLT_ } _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Float, [Char])]), (Int -> Float -> [Char] -> [Char]), ([Char] -> [([Float], [Char])]), ([Float] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Float), _CONSTM_ Text showsPrec (Float), _CONSTM_ Text readList (Float), _CONSTM_ Text showList (Float)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 1 _U_ 222 _N_ _N_ _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Int, [Char])]), (Int -> Int -> [Char] -> [Char]), ([Char] -> [([Int], [Char])]), ([Int] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Int), _CONSTM_ Text showsPrec (Int), _CONSTM_ Text readList (Int), _CONSTM_ Text showList (Int)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Int) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Int) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text Integer
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Integer, [Char])]), (Int -> Integer -> [Char] -> [Char]), ([Char] -> [([Integer], [Char])]), ([Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Integer), _CONSTM_ Text showsPrec (Integer), _CONSTM_ Text readList (Integer), _CONSTM_ Text showList (Integer)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u0 ] _N_} _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _SPEC_ _ORIG_ PreludeText readSigned [ (Integer) ] [ _SPEC_ _ORIG_ PreludeText readDec [ (Integer) ], u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 212 _N_ _S_ "LU(PPP)L" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Integral a => Text (Ratio a)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text (Ratio Integer)
+ {-# GHC_PRAGMA _M_ PreludeRatio {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(Ratio Integer, [Char])]), (Int -> Ratio Integer -> [Char] -> [Char]), ([Char] -> [([Ratio Integer], [Char])]), ([Ratio Integer] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (Ratio Integer), _CONSTM_ Text showsPrec (Ratio Integer), _CONSTM_ Text readList (Ratio Integer), _CONSTM_ Text showList (Ratio Integer)] _N_
+ readsPrec = _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_,
+ showsPrec = _A_ 2 _U_ 112 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text [a]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+instance Text [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Char], [Char])]), (Int -> [Char] -> [Char] -> [Char]), ([Char] -> [([[Char]], [Char])]), ([[Char]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Char]), _CONSTM_ Text showsPrec ([Char]), _CONSTM_ Text readList ([Char]), _CONSTM_ Text showList ([Char])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Char) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Char) _N_,
+ showsPrec = _A_ 2 _U_ 022 _N_ _S_ "AL" {_A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_} _F_ _IF_ARGS_ 0 2 XX 2 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _CONSTM_ Text showList (Char) [ u1 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text [Int]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [([Int], [Char])]), (Int -> [Int] -> [Char] -> [Char]), ([Char] -> [([[Int]], [Char])]), ([[Int]] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec ([Int]), _CONSTM_ Text showsPrec ([Int]), _CONSTM_ Text readList ([Int]), _CONSTM_ Text showList ([Int])] _N_
+ readsPrec = _A_ 1 _U_ 02 _N_ _S_ "A" {_A_ 0 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text readList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text readList (Int) _N_,
+ showsPrec = _A_ 1 _U_ 022 _N_ _S_ "A" {_A_ 0 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Int) _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int) -> _CONSTM_ Text showList (Int) _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text _PackedString
+ {-# GHC_PRAGMA _M_ PreludePS {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(_PackedString, [Char])]), (Int -> _PackedString -> [Char] -> [Char]), ([Char] -> [([_PackedString], [Char])]), ([_PackedString] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (_PackedString), _CONSTM_ Text showsPrec (_PackedString), _CONSTM_ Text readList (_PackedString), _CONSTM_ Text showList (_PackedString)] _N_
+ readsPrec = _A_ 2 _U_ 02 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ error { ([Char] -> [(_PackedString, [Char])]) } [ _NOREP_S_ "readsPrec: _PackedString: ToDo", u1 ] _N_,
+ showsPrec = _A_ 3 _U_ 012 _N_ _S_ "ALL" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 0 3 XXX 6 \ (u0 :: Int) (u1 :: _PackedString) (u2 :: [Char]) -> let {(u3 :: [Char]) = _APP_ _ORIG_ PreludePS _unpackPS [ u1 ]} in _APP_ _CONSTM_ Text showList (Char) [ u3, u2 ] _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance _CCallable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_MutableByteArray a b)
+ {-# GHC_PRAGMA _M_ PreludeGlaST {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 2 0 X 1 _/\_ u0 u1 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CCallable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable ()
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Char
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Double
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Float
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable Int
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable [Char]
+ {-# GHC_PRAGMA _M_ PreludeBuiltin {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Addr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _MallocPtr
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable (_StablePtr a)
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+instance _CReturnable _Word
+ {-# GHC_PRAGMA _M_ PreludeCore {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeHi.hs b/ghc/lib/prelude/PreludeHi.hs
new file mode 100644
index 0000000000..2edf8c2461
--- /dev/null
+++ b/ghc/lib/prelude/PreludeHi.hs
@@ -0,0 +1,97 @@
+-- compiled solely to produce an .hi file
+--
+module Prelude (
+
+ -- NO: really builtin (0.20+): trace,
+
+ (%), numerator, denominator, approxRational,
+
+ realPart, imagPart, conjugate, mkPolar, cis,
+ polar, magnitude, phase,
+
+ _appendPS, _breakPS, _concatPS, _dropPS, _dropWhilePS,
+ _filterPS, _foldlPS, _foldrPS, _headPS, _indexPS, _lengthPS,
+ _linesPS, _mapPS, _nilPS, _consPS, _nullPS, _packCBytes,
+ _packCString, _packString, _byteArrayToPS, _psToByteArray,
+ _reversePS, _spanPS, _splitAtPS, _substrPS, _tailPS, _takePS,
+ _takeWhilePS, _unpackPS, _wordsPS, _putPS,
+
+ (&&), (||), not, otherwise,
+ (^), (^^), appendBin, asTypeOf, atan2, fromIntegral,
+ fromRealFrac, gcd, isAlpha, isAlphanum, isAscii, isControl,
+ isDigit, isLower, isNullBin, isPrint, isSpace, isUpper, lcm,
+ maxChar, maxInt, minChar, minInt, nullBin, subtract, toLower,
+ toUpper, until, fst, snd, id, const, (.), flip, ($),
+ ord, chr,
+
+#if defined(__UNBOXED_INSTANCES__)
+ minInt#, maxInt#,
+ minChar#, maxChar#,
+ toChar#, fromChar#,
+ isAscii#, isControl#, isPrint#, isSpace#,
+ isUpper#, isLower#, isAlpha#, isDigit#, isAlphanum#,
+ toUpper#, toLower#,
+#endif
+
+ head, last, tail, init, null, (++), (\\), genericLength,
+ length, (!!), map, filter, partition, {-BUILTIN: foldl,-}
+ foldl1, scanl, scanl1, {-BUILTIN: foldr,-} foldr1, scanr, scanr1,
+ iterate, repeat, cycle, take, drop, splitAt, takeWhile,
+ dropWhile, span, break, lines, words, unlines, unwords, nub,
+ reverse, and, or, any, all, elem, notElem, sum,
+ product, sums, products, maximum, minimum, concat,
+ transpose, zip, zip3, zip4, zip5, zip6, zip7, zipWith,
+ zipWith3, zipWith4, zipWith5, zipWith6, zipWith7, unzip,
+ unzip3, unzip4, unzip5, unzip6, unzip7,
+
+ array, listArray, (!), bounds, indices, elems, assocs,
+ accumArray, (//), accum, amap, ixmap,
+
+ reads, shows, show, read, lex, showChar, showString,
+ readParen, showParen, readLitChar, showLitChar, readSigned,
+ showSigned, showSpace__, readDec, showInt, readFloat, showFloat,
+ _showHex, _showRadix, _showDigit, -- non-std
+ _readList, _showList, _truncate, _round, _ceiling, _floor,
+
+ _readRational, _showRational, -- extras!
+
+ stdin, stdout, stderr, stdecho, done, readFile, writeFile,
+ appendFile, readBinFile, writeBinFile, appendBinFile,
+ deleteFile, statusFile, readChan, appendChan, readBinChan,
+ appendBinChan, statusChan, echo, getArgs, getProgName, getEnv,
+ setEnv, sigAction, abort, exit, print, prints, interact,
+ strDispatch, strListDispatch, binDispatch, succDispatch,
+
+ -- and for foldr/build
+ _build
+
+ ) where
+
+-- few *Ty(s) imports
+import TyArray ( Array(..), Assoc(..), _ByteArray )
+import TyComplex ( Complex(..) )
+import TyIO
+--import Builtin ( trace )
+import Cls hiding ( String )
+import Core
+import PreludeGlaST ( _MutableByteArray, _MutableArray )
+import IArray
+import IBool
+import IChar
+import IComplex
+import IDouble
+import IFloat
+import IInt
+import IInteger
+import IList
+import IO
+import IRatio
+import ITup0
+import ITup2
+import ITup3
+import ITup4
+import ITup5
+import List
+import Prel
+import Text
+import PS
diff --git a/ghc/lib/prelude/PreludeIO.hi b/ghc/lib/prelude/PreludeIO.hi
new file mode 100644
index 0000000000..d010ce1e42
--- /dev/null
+++ b/ghc/lib/prelude/PreludeIO.hi
@@ -0,0 +1,137 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13(..))
+import PreludeMonadicIO((>>), (>>=), Either(..), IO(..), accumulate, either, fail, failWith, handle, return, sequence, try)
+import PreludePrimIO(_MVar)
+import PreludeReadTextIO(getChar, hGetChar, hGetContents, hLookAhead, hReady, readFile13)
+import PreludeStdIO(BufferMode(..), FilePath(..), Handle(..), HandlePosn(..), IOMode(..), Maybe(..), SeekMode(..), _Handle, hClose, hFileSize, hFlush, hGetPosn, hIsBlockBuffered, hIsClosed, hIsEOF, hIsLineBuffered, hIsNotBuffered, hIsOpen, hIsReadable, hIsSeekable, hIsWritable, hSeek, hSetBuffering, hSetPosn, isEOF, openFile, stderr13, stdin13, stdout13)
+import PreludeWriteTextIO(appendFile13, hPutChar, hPutStr, hPutText, print13, putChar, putStr, putText, writeFile13)
+infixr 1 >>
+infixr 1 >>=
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle {-# GHC_PRAGMA _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool #-}
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+appendFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+interact13 :: ([Char] -> [Char]) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+readFile13 :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+print13 :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeIO.lhs b/ghc/lib/prelude/PreludeIO.lhs
new file mode 100644
index 0000000000..02c1a74105
--- /dev/null
+++ b/ghc/lib/prelude/PreludeIO.lhs
@@ -0,0 +1,100 @@
+%
+% (c) The GRASP/AQUA Project, Glasgow University, 1994
+%
+\section[PrelIO]{Top Level I/O}
+
+This module collects and exports the more primitive Prelude modules.
+
+\begin{code}
+
+module PreludeIO (
+ (>>),
+ (>>=),
+ accumulate,
+ appendFile13,
+ either,
+ fail,
+ failWith,
+ getChar,
+ hClose,
+ hFileSize,
+ hFlush,
+ hGetChar,
+ hGetContents,
+ hGetPosn,
+ hIsBlockBuffered,
+ hIsClosed,
+ hIsEOF,
+ hIsLineBuffered,
+ hIsNotBuffered,
+ hIsOpen,
+ hIsReadable,
+ hIsSeekable,
+ hIsWritable,
+ hLookAhead,
+ hPutChar,
+ hPutStr,
+ hPutText,
+ hReady,
+ hSeek,
+ hSetBuffering,
+ hSetPosn,
+ handle,
+ interact13,
+ isEOF,
+ openFile,
+ putChar,
+ putStr,
+ putText,
+ print13,
+ readFile13,
+ return,
+ sequence,
+ stderr13,
+ stdin13,
+ stdout13,
+ try,
+ writeFile13,
+ IOError13(..),
+ Either(..),
+ BufferMode(..),
+ IOMode(..),
+ SeekMode(..),
+ Maybe(..),
+ FilePath(..),
+ Handle(..),
+ HandlePosn(..),
+ IO(..),
+ _Handle,
+ _MVar
+ ) where
+
+import Cls
+import Core
+import IChar
+import IInt
+import IList
+import List ( (++) )
+import PS
+import Prel ( (.) )
+import Text
+
+import PreludeGlaST
+import PreludePrimIO ( _MVar )
+import PreludeIOError
+import PreludeMonadicIO
+import PreludeStdIO
+import PreludeReadTextIO
+import PreludeWriteTextIO
+
+\end{code}
+
+The interact computation supports classical Landin-stream character
+I/O, as in Haskell 1.2.
+
+\begin{code}
+
+interact13 :: (String -> String) -> IO ()
+interact13 f = hGetContents stdin13 >>= (putStr . f)
+
+\end{code}
diff --git a/ghc/lib/prelude/PreludeIOError.hi b/ghc/lib/prelude/PreludeIOError.hi
new file mode 100644
index 0000000000..e2872e1053
--- /dev/null
+++ b/ghc/lib/prelude/PreludeIOError.hi
@@ -0,0 +1,14 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIOError where
+import PreludeBuiltin(Char(..), List(..), Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Text(..))
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+_constructError :: _State _RealWorld -> (IOError13, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeIOError.lhs b/ghc/lib/prelude/PreludeIOError.lhs
new file mode 100644
index 0000000000..ed4e44794a
--- /dev/null
+++ b/ghc/lib/prelude/PreludeIOError.lhs
@@ -0,0 +1,107 @@
+%
+% (c) The GRASP/AQUA Project, Glasgow University, 1994
+%
+\section[PrelIOErr]{I/O Errors}
+
+Haskell 1.2 does not provide standard error values for I/O errors.
+This is unacceptable for portable implementations which indulge in
+non-trivial I/O. The $IOError$ type has therefore been extended from
+Haskell 1.2, and possible error values have been identified for all
+standard operations.
+
+\begin{code}
+#include "error.h"
+
+module PreludeIOError (IOError13(..), _constructError) where
+
+import Cls
+import Core
+import IChar
+import IInt
+import IList
+import List ( (++) )
+import PS
+import Prel ( (.), not )
+import PreludeGlaST
+import Text
+
+data IOError13 = AlreadyExists String
+ | HardwareFault String
+ | IllegalOperation String
+ | InappropriateType String
+ | Interrupted String
+ | InvalidArgument String
+ | NoSuchThing String
+ | OtherError13 String
+ | PermissionDenied String
+ | ProtocolError String
+ | ResourceBusy String
+ | ResourceExhausted String
+ | ResourceVanished String
+ | SystemError String
+ | TimeExpired String
+ | UnsatisfiedConstraints String
+ | UnsupportedOperation String
+ | UserError String
+ | EOF
+ -- not really OK: deriving (Text)
+
+instance Text IOError13 where -- NB: not interested in reading
+ showsPrec p (AlreadyExists s) = show2 "AlreadyExists: " s
+ showsPrec p (HardwareFault s) = show2 "HardwareFault: " s
+ showsPrec p (IllegalOperation s) = show2 "IllegalOperation: " s
+ showsPrec p (InappropriateType s) = show2 "InappropriateType: " s
+ showsPrec p (Interrupted s) = show2 "Interrupted: " s
+ showsPrec p (InvalidArgument s) = show2 "InvalidArgument: " s
+ showsPrec p (NoSuchThing s) = show2 "NoSuchThing: " s
+ showsPrec p (OtherError13 s) = show2 "OtherError13: " s
+ showsPrec p (PermissionDenied s) = show2 "PermissionDenied: " s
+ showsPrec p (ProtocolError s) = show2 "ProtocolError: " s
+ showsPrec p (ResourceBusy s) = show2 "ResourceBusy: " s
+ showsPrec p (ResourceExhausted s) = show2 "ResourceExhausted: " s
+ showsPrec p (ResourceVanished s) = show2 "ResourceVanished: " s
+ showsPrec p (SystemError s) = show2 "SystemError: " s
+ showsPrec p (TimeExpired s) = show2 "TimeExpired: " s
+ showsPrec p (UnsatisfiedConstraints s) = show2 "UnsatisfiedConstraints: " s
+ showsPrec p (UnsupportedOperation s)= show2 "UnsupportedOperation: " s
+ showsPrec p (UserError s) = showString s
+ showsPrec p EOF = showString "EOF"
+
+show2 x y = showString x . showString y
+
+_constructError :: PrimIO IOError13
+_constructError =
+ _casm_ ``%r = ghc_errtype;'' `thenPrimIO` \ (I# errtype#) ->
+ _casm_ ``%r = ghc_errstr;'' `thenPrimIO` \ str ->
+ let
+ msg = _unpackPS (_packCString str)
+ in
+ returnPrimIO (case errtype# of
+ ERR_ALREADYEXISTS# -> AlreadyExists msg
+ ERR_HARDWAREFAULT# -> HardwareFault msg
+ ERR_ILLEGALOPERATION# -> IllegalOperation msg
+ ERR_INAPPROPRIATETYPE# -> InappropriateType msg
+ ERR_INTERRUPTED# -> Interrupted msg
+ ERR_INVALIDARGUMENT# -> InvalidArgument msg
+ ERR_NOSUCHTHING# -> NoSuchThing msg
+ ERR_OTHERERROR# -> OtherError13 msg
+ ERR_PERMISSIONDENIED# -> PermissionDenied msg
+ ERR_PROTOCOLERROR# -> ProtocolError msg
+ ERR_RESOURCEBUSY# -> ResourceBusy msg
+ ERR_RESOURCEEXHAUSTED# -> ResourceExhausted msg
+ ERR_RESOURCEVANISHED# -> ResourceVanished msg
+ ERR_SYSTEMERROR# -> SystemError msg
+ ERR_TIMEEXPIRED# -> TimeExpired msg
+ ERR_UNSATISFIEDCONSTRAINTS# -> UnsatisfiedConstraints msg
+ ERR_UNSUPPORTEDOPERATION# -> UnsupportedOperation msg
+ ERR_EOF# -> EOF
+ _ -> OtherError13 "bad error construct"
+ )
+\end{code}
+
+The $String$ part of an $IOError13$ is platform-dependent. However, to
+provide a uniform mechanism for distinguishing among errors within
+these broad categories, each platform-specific standard shall specify
+the exact strings to be used for particular errors. For errors not
+explicitly mentioned in the standard, any descriptive string may be
+used.
diff --git a/ghc/lib/prelude/PreludeIOError_mc.hi b/ghc/lib/prelude/PreludeIOError_mc.hi
new file mode 100644
index 0000000000..e2872e1053
--- /dev/null
+++ b/ghc/lib/prelude/PreludeIOError_mc.hi
@@ -0,0 +1,14 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIOError where
+import PreludeBuiltin(Char(..), List(..), Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Text(..))
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+_constructError :: _State _RealWorld -> (IOError13, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeIOError_mg.hi b/ghc/lib/prelude/PreludeIOError_mg.hi
new file mode 100644
index 0000000000..e2872e1053
--- /dev/null
+++ b/ghc/lib/prelude/PreludeIOError_mg.hi
@@ -0,0 +1,14 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIOError where
+import PreludeBuiltin(Char(..), List(..), Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Text(..))
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+_constructError :: _State _RealWorld -> (IOError13, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeIOError_mp.hi b/ghc/lib/prelude/PreludeIOError_mp.hi
new file mode 100644
index 0000000000..e2872e1053
--- /dev/null
+++ b/ghc/lib/prelude/PreludeIOError_mp.hi
@@ -0,0 +1,14 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIOError where
+import PreludeBuiltin(Char(..), List(..), Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Text(..))
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+_constructError :: _State _RealWorld -> (IOError13, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeIOError_mr.hi b/ghc/lib/prelude/PreludeIOError_mr.hi
new file mode 100644
index 0000000000..e2872e1053
--- /dev/null
+++ b/ghc/lib/prelude/PreludeIOError_mr.hi
@@ -0,0 +1,14 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIOError where
+import PreludeBuiltin(Char(..), List(..), Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Text(..))
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+_constructError :: _State _RealWorld -> (IOError13, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeIOError_mt.hi b/ghc/lib/prelude/PreludeIOError_mt.hi
new file mode 100644
index 0000000000..e2872e1053
--- /dev/null
+++ b/ghc/lib/prelude/PreludeIOError_mt.hi
@@ -0,0 +1,14 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIOError where
+import PreludeBuiltin(Char(..), List(..), Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Text(..))
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+_constructError :: _State _RealWorld -> (IOError13, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeIOError_p.hi b/ghc/lib/prelude/PreludeIOError_p.hi
new file mode 100644
index 0000000000..e2872e1053
--- /dev/null
+++ b/ghc/lib/prelude/PreludeIOError_p.hi
@@ -0,0 +1,14 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIOError where
+import PreludeBuiltin(Char(..), List(..), Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Text(..))
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+_constructError :: _State _RealWorld -> (IOError13, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeIOError_t.hi b/ghc/lib/prelude/PreludeIOError_t.hi
new file mode 100644
index 0000000000..e2872e1053
--- /dev/null
+++ b/ghc/lib/prelude/PreludeIOError_t.hi
@@ -0,0 +1,14 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIOError where
+import PreludeBuiltin(Char(..), List(..), Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Text(..))
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+_constructError :: _State _RealWorld -> (IOError13, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeIO_mc.hi b/ghc/lib/prelude/PreludeIO_mc.hi
new file mode 100644
index 0000000000..d010ce1e42
--- /dev/null
+++ b/ghc/lib/prelude/PreludeIO_mc.hi
@@ -0,0 +1,137 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13(..))
+import PreludeMonadicIO((>>), (>>=), Either(..), IO(..), accumulate, either, fail, failWith, handle, return, sequence, try)
+import PreludePrimIO(_MVar)
+import PreludeReadTextIO(getChar, hGetChar, hGetContents, hLookAhead, hReady, readFile13)
+import PreludeStdIO(BufferMode(..), FilePath(..), Handle(..), HandlePosn(..), IOMode(..), Maybe(..), SeekMode(..), _Handle, hClose, hFileSize, hFlush, hGetPosn, hIsBlockBuffered, hIsClosed, hIsEOF, hIsLineBuffered, hIsNotBuffered, hIsOpen, hIsReadable, hIsSeekable, hIsWritable, hSeek, hSetBuffering, hSetPosn, isEOF, openFile, stderr13, stdin13, stdout13)
+import PreludeWriteTextIO(appendFile13, hPutChar, hPutStr, hPutText, print13, putChar, putStr, putText, writeFile13)
+infixr 1 >>
+infixr 1 >>=
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle {-# GHC_PRAGMA _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool #-}
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+appendFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+interact13 :: ([Char] -> [Char]) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+readFile13 :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+print13 :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeIO_mg.hi b/ghc/lib/prelude/PreludeIO_mg.hi
new file mode 100644
index 0000000000..d010ce1e42
--- /dev/null
+++ b/ghc/lib/prelude/PreludeIO_mg.hi
@@ -0,0 +1,137 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13(..))
+import PreludeMonadicIO((>>), (>>=), Either(..), IO(..), accumulate, either, fail, failWith, handle, return, sequence, try)
+import PreludePrimIO(_MVar)
+import PreludeReadTextIO(getChar, hGetChar, hGetContents, hLookAhead, hReady, readFile13)
+import PreludeStdIO(BufferMode(..), FilePath(..), Handle(..), HandlePosn(..), IOMode(..), Maybe(..), SeekMode(..), _Handle, hClose, hFileSize, hFlush, hGetPosn, hIsBlockBuffered, hIsClosed, hIsEOF, hIsLineBuffered, hIsNotBuffered, hIsOpen, hIsReadable, hIsSeekable, hIsWritable, hSeek, hSetBuffering, hSetPosn, isEOF, openFile, stderr13, stdin13, stdout13)
+import PreludeWriteTextIO(appendFile13, hPutChar, hPutStr, hPutText, print13, putChar, putStr, putText, writeFile13)
+infixr 1 >>
+infixr 1 >>=
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle {-# GHC_PRAGMA _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool #-}
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+appendFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+interact13 :: ([Char] -> [Char]) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+readFile13 :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+print13 :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeIO_mp.hi b/ghc/lib/prelude/PreludeIO_mp.hi
new file mode 100644
index 0000000000..d010ce1e42
--- /dev/null
+++ b/ghc/lib/prelude/PreludeIO_mp.hi
@@ -0,0 +1,137 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13(..))
+import PreludeMonadicIO((>>), (>>=), Either(..), IO(..), accumulate, either, fail, failWith, handle, return, sequence, try)
+import PreludePrimIO(_MVar)
+import PreludeReadTextIO(getChar, hGetChar, hGetContents, hLookAhead, hReady, readFile13)
+import PreludeStdIO(BufferMode(..), FilePath(..), Handle(..), HandlePosn(..), IOMode(..), Maybe(..), SeekMode(..), _Handle, hClose, hFileSize, hFlush, hGetPosn, hIsBlockBuffered, hIsClosed, hIsEOF, hIsLineBuffered, hIsNotBuffered, hIsOpen, hIsReadable, hIsSeekable, hIsWritable, hSeek, hSetBuffering, hSetPosn, isEOF, openFile, stderr13, stdin13, stdout13)
+import PreludeWriteTextIO(appendFile13, hPutChar, hPutStr, hPutText, print13, putChar, putStr, putText, writeFile13)
+infixr 1 >>
+infixr 1 >>=
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle {-# GHC_PRAGMA _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool #-}
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+appendFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+interact13 :: ([Char] -> [Char]) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+readFile13 :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+print13 :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeIO_mr.hi b/ghc/lib/prelude/PreludeIO_mr.hi
new file mode 100644
index 0000000000..d010ce1e42
--- /dev/null
+++ b/ghc/lib/prelude/PreludeIO_mr.hi
@@ -0,0 +1,137 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13(..))
+import PreludeMonadicIO((>>), (>>=), Either(..), IO(..), accumulate, either, fail, failWith, handle, return, sequence, try)
+import PreludePrimIO(_MVar)
+import PreludeReadTextIO(getChar, hGetChar, hGetContents, hLookAhead, hReady, readFile13)
+import PreludeStdIO(BufferMode(..), FilePath(..), Handle(..), HandlePosn(..), IOMode(..), Maybe(..), SeekMode(..), _Handle, hClose, hFileSize, hFlush, hGetPosn, hIsBlockBuffered, hIsClosed, hIsEOF, hIsLineBuffered, hIsNotBuffered, hIsOpen, hIsReadable, hIsSeekable, hIsWritable, hSeek, hSetBuffering, hSetPosn, isEOF, openFile, stderr13, stdin13, stdout13)
+import PreludeWriteTextIO(appendFile13, hPutChar, hPutStr, hPutText, print13, putChar, putStr, putText, writeFile13)
+infixr 1 >>
+infixr 1 >>=
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle {-# GHC_PRAGMA _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool #-}
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+appendFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+interact13 :: ([Char] -> [Char]) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+readFile13 :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+print13 :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeIO_mt.hi b/ghc/lib/prelude/PreludeIO_mt.hi
new file mode 100644
index 0000000000..d010ce1e42
--- /dev/null
+++ b/ghc/lib/prelude/PreludeIO_mt.hi
@@ -0,0 +1,137 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13(..))
+import PreludeMonadicIO((>>), (>>=), Either(..), IO(..), accumulate, either, fail, failWith, handle, return, sequence, try)
+import PreludePrimIO(_MVar)
+import PreludeReadTextIO(getChar, hGetChar, hGetContents, hLookAhead, hReady, readFile13)
+import PreludeStdIO(BufferMode(..), FilePath(..), Handle(..), HandlePosn(..), IOMode(..), Maybe(..), SeekMode(..), _Handle, hClose, hFileSize, hFlush, hGetPosn, hIsBlockBuffered, hIsClosed, hIsEOF, hIsLineBuffered, hIsNotBuffered, hIsOpen, hIsReadable, hIsSeekable, hIsWritable, hSeek, hSetBuffering, hSetPosn, isEOF, openFile, stderr13, stdin13, stdout13)
+import PreludeWriteTextIO(appendFile13, hPutChar, hPutStr, hPutText, print13, putChar, putStr, putText, writeFile13)
+infixr 1 >>
+infixr 1 >>=
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle {-# GHC_PRAGMA _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool #-}
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+appendFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+interact13 :: ([Char] -> [Char]) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+readFile13 :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+print13 :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeIO_p.hi b/ghc/lib/prelude/PreludeIO_p.hi
new file mode 100644
index 0000000000..d010ce1e42
--- /dev/null
+++ b/ghc/lib/prelude/PreludeIO_p.hi
@@ -0,0 +1,137 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13(..))
+import PreludeMonadicIO((>>), (>>=), Either(..), IO(..), accumulate, either, fail, failWith, handle, return, sequence, try)
+import PreludePrimIO(_MVar)
+import PreludeReadTextIO(getChar, hGetChar, hGetContents, hLookAhead, hReady, readFile13)
+import PreludeStdIO(BufferMode(..), FilePath(..), Handle(..), HandlePosn(..), IOMode(..), Maybe(..), SeekMode(..), _Handle, hClose, hFileSize, hFlush, hGetPosn, hIsBlockBuffered, hIsClosed, hIsEOF, hIsLineBuffered, hIsNotBuffered, hIsOpen, hIsReadable, hIsSeekable, hIsWritable, hSeek, hSetBuffering, hSetPosn, isEOF, openFile, stderr13, stdin13, stdout13)
+import PreludeWriteTextIO(appendFile13, hPutChar, hPutStr, hPutText, print13, putChar, putStr, putText, writeFile13)
+infixr 1 >>
+infixr 1 >>=
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle {-# GHC_PRAGMA _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool #-}
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+appendFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+interact13 :: ([Char] -> [Char]) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+readFile13 :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+print13 :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeIO_t.hi b/ghc/lib/prelude/PreludeIO_t.hi
new file mode 100644
index 0000000000..d010ce1e42
--- /dev/null
+++ b/ghc/lib/prelude/PreludeIO_t.hi
@@ -0,0 +1,137 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13(..))
+import PreludeMonadicIO((>>), (>>=), Either(..), IO(..), accumulate, either, fail, failWith, handle, return, sequence, try)
+import PreludePrimIO(_MVar)
+import PreludeReadTextIO(getChar, hGetChar, hGetContents, hLookAhead, hReady, readFile13)
+import PreludeStdIO(BufferMode(..), FilePath(..), Handle(..), HandlePosn(..), IOMode(..), Maybe(..), SeekMode(..), _Handle, hClose, hFileSize, hFlush, hGetPosn, hIsBlockBuffered, hIsClosed, hIsEOF, hIsLineBuffered, hIsNotBuffered, hIsOpen, hIsReadable, hIsSeekable, hIsWritable, hSeek, hSetBuffering, hSetPosn, isEOF, openFile, stderr13, stdin13, stdout13)
+import PreludeWriteTextIO(appendFile13, hPutChar, hPutStr, hPutText, print13, putChar, putStr, putText, writeFile13)
+infixr 1 >>
+infixr 1 >>=
+data IOError13 = AlreadyExists [Char] | HardwareFault [Char] | IllegalOperation [Char] | InappropriateType [Char] | Interrupted [Char] | InvalidArgument [Char] | NoSuchThing [Char] | OtherError13 [Char] | PermissionDenied [Char] | ProtocolError [Char] | ResourceBusy [Char] | ResourceExhausted [Char] | ResourceVanished [Char] | SystemError [Char] | TimeExpired [Char] | UnsatisfiedConstraints [Char] | UnsupportedOperation [Char] | UserError [Char] | EOF
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+data _MVar a {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle {-# GHC_PRAGMA _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool #-}
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+appendFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+interact13 :: ([Char] -> [Char]) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+readFile13 :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+print13 :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text IOError13
+ {-# GHC_PRAGMA _M_ PreludeIOError {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 5 _!_ _TUP_4 [(Int -> [Char] -> [(IOError13, [Char])]), (Int -> IOError13 -> [Char] -> [Char]), ([Char] -> [([IOError13], [Char])]), ([IOError13] -> [Char] -> [Char])] [_CONSTM_ Text readsPrec (IOError13), _CONSTM_ Text showsPrec (IOError13), _CONSTM_ Text readList (IOError13), _CONSTM_ Text showList (IOError13)] _N_
+ readsPrec = _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Int) (u1 :: [Char]) -> _APP_ _TYAPP_ patError# { (Int -> [Char] -> [(IOError13, [Char])]) } [ _NOREP_S_ "%DPreludeCore.Text.readsPrec\"", u0, u1 ] _N_,
+ showsPrec = _A_ 2 _U_ 012 _N_ _S_ "AS" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_,
+ readList = _A_ 0 _U_ 2 _N_ _N_ _N_ _N_,
+ showList = _A_ 0 _U_ 12 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeMonadicIO.hi b/ghc/lib/prelude/PreludeMonadicIO.hi
new file mode 100644
index 0000000000..90681d8b22
--- /dev/null
+++ b/ghc/lib/prelude/PreludeMonadicIO.hi
@@ -0,0 +1,36 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeMonadicIO where
+import PreludeBuiltin(Char(..), List(..), Tuple0, Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13)
+infixr 1 >>
+infixr 1 >>=
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeMonadicIO.lhs b/ghc/lib/prelude/PreludeMonadicIO.lhs
new file mode 100644
index 0000000000..38bb570be3
--- /dev/null
+++ b/ghc/lib/prelude/PreludeMonadicIO.lhs
@@ -0,0 +1,204 @@
+%
+% (c) The GRASP/AQUA Project, Glasgow University, 1994
+%
+\section[PrelMonIO]{Monadic I/O Primitives}
+
+This module defines the basic monadic framework for Haskell 1.3 I/O.
+
+\begin{code}
+
+module PreludeMonadicIO (
+ (>>),
+ (>>=),
+ accumulate,
+ either,
+ fail,
+ failWith,
+ handle,
+ return,
+ sequence,
+ try,
+
+ IO(..),
+ Either(..)
+
+ ) where
+
+import Cls
+import Core
+import IChar
+import IInt
+import IList
+import List ( (++) )
+import Prel ( (.), not )
+import PS ( _PackedString, _unpackPS )
+import Text
+
+import PreludeGlaST
+import PreludeIOError
+
+infixr 1 >>, >>=
+
+\end{code}
+
+\subsection[IOMonad]{The IO Monad}
+
+I/O operations may need to indicate errors, and implementations may
+need to handle these errors. The $IO$ monad extends existing practice
+by making this functionality primitive. The exact errors which may
+occur are defined in $PreludeIOError13$.
+
+\begin{code}
+
+type IO a = PrimIO (Either IOError13 a)
+
+data Either a b = Left a | Right b deriving (Text, Eq, Ord)
+
+\end{code}
+
+An expression of type $IO a$, for some type {\em a}, denotes a
+computation whose answer is either a result of type {\em a} or an
+<em>error</em> of type $IOError13$. The computation succeeds with
+result {\em succ} if its answer is $Right succ$, and fails with
+result {\em fail} if its answer is $Left fail$. Note that the
+type system delimits the possibility of failure: only expressions of
+some type $IO a$ can <em>fail</em> in the sense defined here.
+
+\begin{code}
+
+{-# INLINE return #-}
+{-# INLINE failWith #-}
+
+return :: a -> IO a
+failWith :: IOError13 -> IO a
+
+return = returnPrimIO . Right
+failWith = returnPrimIO . Left
+
+\end{code}
+
+There are two primitives to create trivial computations, one for
+each of the two possibilities, success or failure.
+
+$return result$ is a computation that succeeds with result
+{\em result}.
+
+$failWith fail$ is a computation that fails with the error
+{\em fail}.
+
+\begin{code}
+
+{-# INLINE (>>=) #-}
+
+(>>=) :: IO a -> (a -> IO b) -> IO b
+m >>= k = m `thenPrimIO` \ r -> k' r
+ where
+ k' (Right x) = k x
+ k' (Left err) = returnPrimIO (Left err)
+
+\end{code}
+
+The $>>=$ operation is used to sequence two computations, where the
+second computation is parameterised on the result of the first.
+
+\begin{code}
+
+{-# INLINE (>>) #-}
+
+(>>) :: IO a -> IO b -> IO b
+m >> k = m >>= \ _ -> k
+
+\end{code}
+
+The restricted form of $>>=$, $>>$, is used when the result of the
+first computation is uninteresting.
+
+\subsection[Error-Handling]{Error Handling}
+
+\begin{code}
+
+handle :: IO a -> (IOError13 -> IO a) -> IO a
+handle m k = m `thenPrimIO` \ r -> k' r
+ where
+ k' (Left err) = k err
+ k' result = returnPrimIO result
+
+\end{code}
+
+The construct $handle comp handler$ can be used to handle a
+simple error during a computation {\em comp}. Its usefulness is
+limited in that the replacement value must be of the same type as the
+result of {\em comp}.
+
+\begin{code}
+
+try :: IO a -> IO (Either IOError13 a)
+try p = handle (p >>= (return . Right)) (return . Left)
+
+\end{code}
+
+The construct $try comp$ exposes errors which occur within a
+computation, and which are not fully handled. It always succeeds.
+
+\subsection[UserErrors]{User-Defined Errors}
+
+\begin{code}
+
+fail :: String -> IO a
+fail = failWith . UserError
+
+\end{code}
+
+As a convention for user-generated errors, to return an error message
+$msg :: String$, return the error value $UserError msg$
+via the computation $fail msg$.
+
+This construct should be used instead of Haskell's $error :: String -> a$
+operation wherever convenient.
+
+\subsection[HOFs]{Higher-Order Utility Functions}
+
+\begin{code}
+
+either :: (a -> c) -> (b -> c) -> (Either a b) -> c
+either kl kr x = case x of {Left a -> kl a; Right b -> kr b}
+
+\end{code}
+
+The construct $either a b$ can be used to generate functions on types
+of the form $Either a b$.
+
+\begin{code}
+
+accumulate :: [IO a] -> IO [a]
+
+accumulate [] = return []
+accumulate (f:fs)
+ = f >>= \ x ->
+ accumulate fs >>= \ xs ->
+ return (x:xs)
+
+{- partain: this may be right, but I'm going w/ a more-certainly-right version
+accumulate = foldr mcons (return [])
+ where
+ mcons :: IO a -> IO [a] -> IO [a]
+ mcons p q = p >>= \x -> q >>= \y -> return (x : y)
+-}
+
+\end{code}
+
+The $accumulate$ computation is used to process a list of computations
+of the same type, and to return a list of their results when executed
+in sequence.
+
+\begin{code}
+
+sequence :: [IO a] -> IO ()
+sequence = foldr (>>) (return ())
+
+\end{code}
+
+The $sequence$ computation is used for the simpler case when the
+computations are executed entirely for their external effect, and the
+results are therefore uninteresting.
+
diff --git a/ghc/lib/prelude/PreludeMonadicIO_mc.hi b/ghc/lib/prelude/PreludeMonadicIO_mc.hi
new file mode 100644
index 0000000000..90681d8b22
--- /dev/null
+++ b/ghc/lib/prelude/PreludeMonadicIO_mc.hi
@@ -0,0 +1,36 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeMonadicIO where
+import PreludeBuiltin(Char(..), List(..), Tuple0, Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13)
+infixr 1 >>
+infixr 1 >>=
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeMonadicIO_mg.hi b/ghc/lib/prelude/PreludeMonadicIO_mg.hi
new file mode 100644
index 0000000000..90681d8b22
--- /dev/null
+++ b/ghc/lib/prelude/PreludeMonadicIO_mg.hi
@@ -0,0 +1,36 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeMonadicIO where
+import PreludeBuiltin(Char(..), List(..), Tuple0, Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13)
+infixr 1 >>
+infixr 1 >>=
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeMonadicIO_mp.hi b/ghc/lib/prelude/PreludeMonadicIO_mp.hi
new file mode 100644
index 0000000000..90681d8b22
--- /dev/null
+++ b/ghc/lib/prelude/PreludeMonadicIO_mp.hi
@@ -0,0 +1,36 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeMonadicIO where
+import PreludeBuiltin(Char(..), List(..), Tuple0, Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13)
+infixr 1 >>
+infixr 1 >>=
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeMonadicIO_mr.hi b/ghc/lib/prelude/PreludeMonadicIO_mr.hi
new file mode 100644
index 0000000000..90681d8b22
--- /dev/null
+++ b/ghc/lib/prelude/PreludeMonadicIO_mr.hi
@@ -0,0 +1,36 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeMonadicIO where
+import PreludeBuiltin(Char(..), List(..), Tuple0, Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13)
+infixr 1 >>
+infixr 1 >>=
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeMonadicIO_mt.hi b/ghc/lib/prelude/PreludeMonadicIO_mt.hi
new file mode 100644
index 0000000000..90681d8b22
--- /dev/null
+++ b/ghc/lib/prelude/PreludeMonadicIO_mt.hi
@@ -0,0 +1,36 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeMonadicIO where
+import PreludeBuiltin(Char(..), List(..), Tuple0, Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13)
+infixr 1 >>
+infixr 1 >>=
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeMonadicIO_p.hi b/ghc/lib/prelude/PreludeMonadicIO_p.hi
new file mode 100644
index 0000000000..90681d8b22
--- /dev/null
+++ b/ghc/lib/prelude/PreludeMonadicIO_p.hi
@@ -0,0 +1,36 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeMonadicIO where
+import PreludeBuiltin(Char(..), List(..), Tuple0, Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13)
+infixr 1 >>
+infixr 1 >>=
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeMonadicIO_t.hi b/ghc/lib/prelude/PreludeMonadicIO_t.hi
new file mode 100644
index 0000000000..90681d8b22
--- /dev/null
+++ b/ghc/lib/prelude/PreludeMonadicIO_t.hi
@@ -0,0 +1,36 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeMonadicIO where
+import PreludeBuiltin(Char(..), List(..), Tuple0, Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13)
+infixr 1 >>
+infixr 1 >>=
+data Either a b = Left a | Right b
+type IO a = _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+(>>) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (_State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> let {(u7 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) = \ (u5 :: u0) (u6 :: _State _RealWorld) -> _APP_ u3 [ u6 ]} in _APP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeMonadicIO (>>=) { u0 } { u1 } [ u2, u7, u4 ] _N_ #-}
+(>>=) :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (a -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 b, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: _State _RealWorld -> (Either IOError13 u0, _State _RealWorld)) (u3 :: u0 -> _State _RealWorld -> (Either IOError13 u1, _State _RealWorld)) (u4 :: _State _RealWorld) -> case _APP_ u2 [ u4 ] of { _ALG_ _TUP_2 (u5 :: Either IOError13 u0) (u6 :: _State _RealWorld) -> case u5 of { _ALG_ Right (u7 :: u0) -> _APP_ u3 [ u7, u6 ]; Left (u8 :: IOError13) -> let {(u9 :: Either IOError13 u1) = _!_ Left [IOError13, u1] [u8]} in case u6 of { _ALG_ S# (ua :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u1), (_State _RealWorld)] [u9, u6]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ #-}
+accumulate :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+either :: (a -> c) -> (b -> c) -> Either a b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _F_ _IF_ARGS_ 3 3 XXC 6 _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u2) (u5 :: Either u0 u1) -> case u5 of { _ALG_ Left (u6 :: u0) -> _APP_ u3 [ u6 ]; Right (u7 :: u1) -> _APP_ u4 [ u7 ]; _NO_DEFLT_ } _N_ #-}
+fail :: [Char] -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+failWith :: IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: IOError13) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Left [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+handle :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> (IOError13 -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _N_ _N_ #-}
+return :: a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) (u2 :: _State _RealWorld) -> let {(u3 :: Either IOError13 u0) = _!_ Right [IOError13, u0] [u1]} in case u2 of { _ALG_ S# (u4 :: State# _RealWorld) -> _!_ _TUP_2 [(Either IOError13 u0), (_State _RealWorld)] [u3, u2]; _NO_DEFLT_ } _N_ #-}
+sequence :: [_State _RealWorld -> (Either IOError13 a, _State _RealWorld)] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+try :: (_State _RealWorld -> (Either IOError13 a, _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (Either IOError13 a), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+instance (Eq a, Eq b) => Eq (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 11 _N_ _N_ _N_ _N_ #-}
+instance (Ord a, Ord b) => Ord (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ #-}
+instance (Text a, Text b) => Text (Either a b)
+ {-# GHC_PRAGMA _M_ PreludeMonadicIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeNull_.hi b/ghc/lib/prelude/PreludeNull_.hi
new file mode 100644
index 0000000000..e78fb72227
--- /dev/null
+++ b/ghc/lib/prelude/PreludeNull_.hi
@@ -0,0 +1,4 @@
+interface Prelude where {
+ -- nothing here: slurped when "-fno-implicit-prelude"
+no_implicit_prelude____ :: Int
+}
diff --git a/ghc/lib/prelude/PreludeNull__1s.hi b/ghc/lib/prelude/PreludeNull__1s.hi
new file mode 100644
index 0000000000..e78fb72227
--- /dev/null
+++ b/ghc/lib/prelude/PreludeNull__1s.hi
@@ -0,0 +1,4 @@
+interface Prelude where {
+ -- nothing here: slurped when "-fno-implicit-prelude"
+no_implicit_prelude____ :: Int
+}
diff --git a/ghc/lib/prelude/PreludeNull__2s.hi b/ghc/lib/prelude/PreludeNull__2s.hi
new file mode 100644
index 0000000000..e78fb72227
--- /dev/null
+++ b/ghc/lib/prelude/PreludeNull__2s.hi
@@ -0,0 +1,4 @@
+interface Prelude where {
+ -- nothing here: slurped when "-fno-implicit-prelude"
+no_implicit_prelude____ :: Int
+}
diff --git a/ghc/lib/prelude/PreludeNull__du.hi b/ghc/lib/prelude/PreludeNull__du.hi
new file mode 100644
index 0000000000..e78fb72227
--- /dev/null
+++ b/ghc/lib/prelude/PreludeNull__du.hi
@@ -0,0 +1,4 @@
+interface Prelude where {
+ -- nothing here: slurped when "-fno-implicit-prelude"
+no_implicit_prelude____ :: Int
+}
diff --git a/ghc/lib/prelude/PreludeNull__i.hi b/ghc/lib/prelude/PreludeNull__i.hi
new file mode 100644
index 0000000000..e78fb72227
--- /dev/null
+++ b/ghc/lib/prelude/PreludeNull__i.hi
@@ -0,0 +1,4 @@
+interface Prelude where {
+ -- nothing here: slurped when "-fno-implicit-prelude"
+no_implicit_prelude____ :: Int
+}
diff --git a/ghc/lib/prelude/PreludeNull__j.hi b/ghc/lib/prelude/PreludeNull__j.hi
new file mode 100644
index 0000000000..e78fb72227
--- /dev/null
+++ b/ghc/lib/prelude/PreludeNull__j.hi
@@ -0,0 +1,4 @@
+interface Prelude where {
+ -- nothing here: slurped when "-fno-implicit-prelude"
+no_implicit_prelude____ :: Int
+}
diff --git a/ghc/lib/prelude/PreludeNull__k.hi b/ghc/lib/prelude/PreludeNull__k.hi
new file mode 100644
index 0000000000..e78fb72227
--- /dev/null
+++ b/ghc/lib/prelude/PreludeNull__k.hi
@@ -0,0 +1,4 @@
+interface Prelude where {
+ -- nothing here: slurped when "-fno-implicit-prelude"
+no_implicit_prelude____ :: Int
+}
diff --git a/ghc/lib/prelude/PreludeNull__l.hi b/ghc/lib/prelude/PreludeNull__l.hi
new file mode 100644
index 0000000000..e78fb72227
--- /dev/null
+++ b/ghc/lib/prelude/PreludeNull__l.hi
@@ -0,0 +1,4 @@
+interface Prelude where {
+ -- nothing here: slurped when "-fno-implicit-prelude"
+no_implicit_prelude____ :: Int
+}
diff --git a/ghc/lib/prelude/PreludeNull__m.hi b/ghc/lib/prelude/PreludeNull__m.hi
new file mode 100644
index 0000000000..e78fb72227
--- /dev/null
+++ b/ghc/lib/prelude/PreludeNull__m.hi
@@ -0,0 +1,4 @@
+interface Prelude where {
+ -- nothing here: slurped when "-fno-implicit-prelude"
+no_implicit_prelude____ :: Int
+}
diff --git a/ghc/lib/prelude/PreludeNull__mc.hi b/ghc/lib/prelude/PreludeNull__mc.hi
new file mode 100644
index 0000000000..e78fb72227
--- /dev/null
+++ b/ghc/lib/prelude/PreludeNull__mc.hi
@@ -0,0 +1,4 @@
+interface Prelude where {
+ -- nothing here: slurped when "-fno-implicit-prelude"
+no_implicit_prelude____ :: Int
+}
diff --git a/ghc/lib/prelude/PreludeNull__mg.hi b/ghc/lib/prelude/PreludeNull__mg.hi
new file mode 100644
index 0000000000..e78fb72227
--- /dev/null
+++ b/ghc/lib/prelude/PreludeNull__mg.hi
@@ -0,0 +1,4 @@
+interface Prelude where {
+ -- nothing here: slurped when "-fno-implicit-prelude"
+no_implicit_prelude____ :: Int
+}
diff --git a/ghc/lib/prelude/PreludeNull__mp.hi b/ghc/lib/prelude/PreludeNull__mp.hi
new file mode 100644
index 0000000000..e78fb72227
--- /dev/null
+++ b/ghc/lib/prelude/PreludeNull__mp.hi
@@ -0,0 +1,4 @@
+interface Prelude where {
+ -- nothing here: slurped when "-fno-implicit-prelude"
+no_implicit_prelude____ :: Int
+}
diff --git a/ghc/lib/prelude/PreludeNull__mr.hi b/ghc/lib/prelude/PreludeNull__mr.hi
new file mode 100644
index 0000000000..e78fb72227
--- /dev/null
+++ b/ghc/lib/prelude/PreludeNull__mr.hi
@@ -0,0 +1,4 @@
+interface Prelude where {
+ -- nothing here: slurped when "-fno-implicit-prelude"
+no_implicit_prelude____ :: Int
+}
diff --git a/ghc/lib/prelude/PreludeNull__mt.hi b/ghc/lib/prelude/PreludeNull__mt.hi
new file mode 100644
index 0000000000..e78fb72227
--- /dev/null
+++ b/ghc/lib/prelude/PreludeNull__mt.hi
@@ -0,0 +1,4 @@
+interface Prelude where {
+ -- nothing here: slurped when "-fno-implicit-prelude"
+no_implicit_prelude____ :: Int
+}
diff --git a/ghc/lib/prelude/PreludeNull__n.hi b/ghc/lib/prelude/PreludeNull__n.hi
new file mode 100644
index 0000000000..e78fb72227
--- /dev/null
+++ b/ghc/lib/prelude/PreludeNull__n.hi
@@ -0,0 +1,4 @@
+interface Prelude where {
+ -- nothing here: slurped when "-fno-implicit-prelude"
+no_implicit_prelude____ :: Int
+}
diff --git a/ghc/lib/prelude/PreludeNull__o.hi b/ghc/lib/prelude/PreludeNull__o.hi
new file mode 100644
index 0000000000..e78fb72227
--- /dev/null
+++ b/ghc/lib/prelude/PreludeNull__o.hi
@@ -0,0 +1,4 @@
+interface Prelude where {
+ -- nothing here: slurped when "-fno-implicit-prelude"
+no_implicit_prelude____ :: Int
+}
diff --git a/ghc/lib/prelude/PreludeNull__p.hi b/ghc/lib/prelude/PreludeNull__p.hi
new file mode 100644
index 0000000000..e78fb72227
--- /dev/null
+++ b/ghc/lib/prelude/PreludeNull__p.hi
@@ -0,0 +1,4 @@
+interface Prelude where {
+ -- nothing here: slurped when "-fno-implicit-prelude"
+no_implicit_prelude____ :: Int
+}
diff --git a/ghc/lib/prelude/PreludeNull__t.hi b/ghc/lib/prelude/PreludeNull__t.hi
new file mode 100644
index 0000000000..e78fb72227
--- /dev/null
+++ b/ghc/lib/prelude/PreludeNull__t.hi
@@ -0,0 +1,4 @@
+interface Prelude where {
+ -- nothing here: slurped when "-fno-implicit-prelude"
+no_implicit_prelude____ :: Int
+}
diff --git a/ghc/lib/prelude/PreludeReadTextIO.hi b/ghc/lib/prelude/PreludeReadTextIO.hi
new file mode 100644
index 0000000000..24a46143fa
--- /dev/null
+++ b/ghc/lib/prelude/PreludeReadTextIO.hi
@@ -0,0 +1,21 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeReadTextIO where
+import PreludeBuiltin(Char(..), List(..), Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Bool(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+import PreludeStdIO(_Handle)
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readFile13 :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeReadTextIO.lhs b/ghc/lib/prelude/PreludeReadTextIO.lhs
new file mode 100644
index 0000000000..ba61a312ec
--- /dev/null
+++ b/ghc/lib/prelude/PreludeReadTextIO.lhs
@@ -0,0 +1,311 @@
+%
+% (c) The GRASP/AQUA Project, Glasgow University, 1994
+%
+\section[PrelReadTextIO]{Haskell 1.3 Text Input}
+
+This module defines the standard set of input operations for reading
+characters and strings from text files, using {\em handles}.
+
+\begin{code}
+module PreludeReadTextIO (
+ hReady,
+ hGetChar,
+ getChar,
+ hLookAhead,
+ hGetContents,
+ readFile13
+ ) where
+
+import Cls
+import Core
+import IChar
+import IInt
+import IList
+import List ( (++) )
+import Prel ( chr )
+import Text
+
+import PreludeIOError
+import PreludeMonadicIO
+import PreludePrimIO
+import PreludeGlaST
+import PreludeStdIO
+import PS
+
+---------------------------------
+infixr 1 `my_then`
+
+my_then :: IO a -> (a -> PrimIO b) -> PrimIO b
+{-# INLINE my_then #-}
+
+my_then m k = m `thenPrimIO` \ r -> k' r
+ where
+ k' (Right x) = k x
+ k' (Left err) = error "my_then"
+---------------------------------
+
+
+hReady :: Handle -> IO Bool
+hReady handle =
+ takeMVar handle >>= \ htype ->
+ case htype of
+ _ErrorHandle ioError ->
+ putMVar handle htype >>
+ failWith ioError
+ _ClosedHandle ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SemiClosedHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _AppendHandle _ _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is not open for reading")
+ _WriteHandle _ _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is not open for reading")
+ other ->
+ _ccall_ inputReady (_filePtr other) `thenPrimIO` \ rc ->
+ putMVar handle (_markHandle htype) >>
+ case rc of
+ 0 -> return False
+ 1 -> return True
+ _ -> _constructError `thenPrimIO` \ ioError ->
+ failWith ioError
+
+\end{code}
+
+Computation $hReady hdl$ indicates whether at least
+one item is available for input from handle {\em hdl}.
+
+\begin{code}
+
+hGetChar :: Handle -> IO Char
+hGetChar handle =
+ takeMVar handle >>= \ htype ->
+ case htype of
+ _ErrorHandle ioError ->
+ putMVar handle htype >>
+ failWith ioError
+ _ClosedHandle ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SemiClosedHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _AppendHandle _ _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is not open for reading")
+ _WriteHandle _ _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is not open for reading")
+ other ->
+ _ccall_ fileGetc (_filePtr other) `thenPrimIO` \ intc ->
+ putMVar handle (_markHandle htype) >>
+ if intc /= ``EOF'' then
+ return (chr intc)
+ else
+ _constructError `thenPrimIO` \ ioError ->
+ failWith ioError
+
+getChar :: IO Char
+getChar = hGetChar stdin13
+
+\end{code}
+
+Computation $hGetChar hdl$ reads the next character from handle {\em
+hdl}, blocking until a character is available.
+
+$getChar$ reads the next character from $stdin$.
+
+\begin{code}
+
+hLookAhead :: Handle -> IO Char
+hLookAhead handle =
+ takeMVar handle >>= \ htype ->
+ case htype of
+ _ErrorHandle ioError ->
+ putMVar handle htype >>
+ failWith ioError
+ _ClosedHandle ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SemiClosedHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _AppendHandle _ _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is not open for reading")
+ _WriteHandle _ _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is not open for reading")
+ other ->
+ _ccall_ fileLookAhead (_filePtr other) `thenPrimIO` \ intc ->
+ putMVar handle (_markHandle htype) >>
+ if intc /= ``EOF'' then
+ return (chr intc)
+ else
+ _constructError `thenPrimIO` \ ioError ->
+ failWith ioError
+
+\end{code}
+
+Computation $hLookahead hdl$ returns the next character from handle
+{\em hdl} without removing it from the input buffer, blocking until a
+character is available.
+
+\begin{code}
+
+hGetContents :: Handle -> IO String
+hGetContents handle =
+ takeMVar handle >>= \ htype ->
+ case htype of
+ _ErrorHandle ioError ->
+ putMVar handle htype >>
+ failWith ioError
+ _ClosedHandle ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SemiClosedHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _AppendHandle _ _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is not open for reading")
+ _WriteHandle _ _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is not open for reading")
+ other ->
+
+ {-
+ To avoid introducing an extra layer of buffering here,
+ we provide three lazy read methods, based on character,
+ line, and block buffering.
+ -}
+
+ _getBufferMode other `thenPrimIO` \ other ->
+ case _bufferMode other of
+ Just LineBuffering ->
+ allocBuf Nothing >>= \ buf_info ->
+ putMVar handle (_SemiClosedHandle (_filePtr other) buf_info)
+ >>
+ unsafeInterleavePrimIO (lazyReadLine handle)
+ `thenPrimIO` \ contents ->
+ return contents
+
+ Just (BlockBuffering size) ->
+ allocBuf size >>= \ buf_info ->
+ putMVar handle (_SemiClosedHandle (_filePtr other) buf_info)
+ >>
+ unsafeInterleavePrimIO (lazyReadBlock handle)
+ `thenPrimIO` \ contents ->
+ return contents
+ _ -> -- Nothing is treated pessimistically as NoBuffering
+ putMVar handle (_SemiClosedHandle (_filePtr other) (``NULL'', 0))
+ >>
+ unsafeInterleavePrimIO (lazyReadChar handle)
+ `thenPrimIO` \ contents ->
+ return contents
+ where
+ allocBuf :: (Maybe Int) -> IO (_Addr, Int)
+ allocBuf msize =
+ _ccall_ malloc size `thenPrimIO` \ buf ->
+ if buf /= ``NULL'' then
+ return (buf, size)
+ else
+ failWith (ResourceExhausted "not enough virtual memory")
+ where
+ size =
+ case msize of
+ Just x -> x
+ Nothing -> ``BUFSIZ''
+
+{-
+ Note that someone may yank our handle out from under us, and then re-use
+ the same FILE * for something else. Therefore, we have to re-examine the
+ handle every time through.
+-}
+
+lazyReadBlock :: Handle -> PrimIO String
+lazyReadBlock handle =
+ takeMVar handle `my_then` \ htype ->
+ case htype of
+ -- There cannae be an _ErrorHandle here
+ _ClosedHandle ->
+ putMVar handle htype `seqPrimIO`
+ returnPrimIO ""
+ _SemiClosedHandle fp (buf, size) ->
+ _ccall_ readBlock buf fp size `thenPrimIO` \ bytes ->
+ (if bytes <= 0 then returnStrictlyST _nilPS
+ else _packCBytesST bytes buf) `thenStrictlyST` \ some ->
+ if bytes < 0 then
+ putMVar handle (_SemiClosedHandle ``NULL'' (``NULL'', 0))
+ `seqPrimIO`
+ _ccall_ free buf `thenPrimIO` \ () ->
+ _ccall_ closeFile fp `seqPrimIO`
+ returnPrimIO (_unpackPS some)
+ else
+ putMVar handle htype `seqPrimIO`
+ unsafeInterleavePrimIO (lazyReadBlock handle)
+ `thenPrimIO` \ more ->
+ returnPrimIO (_unpackPS some ++ more)
+
+lazyReadLine :: Handle -> PrimIO String
+lazyReadLine handle =
+ takeMVar handle `my_then` \ htype ->
+ case htype of
+ -- There cannae be an _ErrorHandle here
+ _ClosedHandle ->
+ putMVar handle htype `seqPrimIO`
+ returnPrimIO ""
+ _SemiClosedHandle fp (buf, size) ->
+ _ccall_ readLine buf fp size `thenPrimIO` \ bytes ->
+ (if bytes <= 0 then returnStrictlyST _nilPS
+ else _packCBytesST bytes buf) `thenStrictlyST` \ some ->
+ if bytes < 0 then
+ putMVar handle (_SemiClosedHandle ``NULL'' (``NULL'', 0))
+ `seqPrimIO`
+ _ccall_ free buf `thenPrimIO` \ () ->
+ _ccall_ closeFile fp `seqPrimIO`
+ returnPrimIO (_unpackPS some)
+ else
+ putMVar handle htype `seqPrimIO`
+ unsafeInterleavePrimIO (lazyReadLine handle)
+ `thenPrimIO` \ more ->
+ returnPrimIO (_unpackPS some ++ more)
+
+lazyReadChar :: Handle -> PrimIO String
+lazyReadChar handle =
+ takeMVar handle `my_then` \ htype ->
+ case htype of
+ -- There cannae be an _ErrorHandle here
+ _ClosedHandle ->
+ putMVar handle htype `seqPrimIO`
+ returnPrimIO ""
+ _SemiClosedHandle fp buf_info ->
+ _ccall_ readChar fp `thenPrimIO` \ char ->
+ if char == ``EOF'' then
+ putMVar handle (_SemiClosedHandle ``NULL'' buf_info)
+ `seqPrimIO`
+ _ccall_ closeFile fp `seqPrimIO`
+ returnPrimIO ""
+ else
+ putMVar handle htype `seqPrimIO`
+ unsafeInterleavePrimIO (lazyReadChar handle)
+ `thenPrimIO` \ more ->
+ returnPrimIO (chr char : more)
+
+\end{code}
+
+Computation $hGetContents hdl$ returns the list of characters
+corresponding to the unread portion of the channel or file managed by
+{\em hdl}, which is made semi-closed.
+
+\begin{code}
+
+readFile13 :: FilePath -> IO String
+readFile13 name = openFile name ReadMode >>= hGetContents
+
+\end{code}
+
+$readFile file$ returns the contents of {\em file} as a lazy string.
diff --git a/ghc/lib/prelude/PreludeReadTextIO_mc.hi b/ghc/lib/prelude/PreludeReadTextIO_mc.hi
new file mode 100644
index 0000000000..24a46143fa
--- /dev/null
+++ b/ghc/lib/prelude/PreludeReadTextIO_mc.hi
@@ -0,0 +1,21 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeReadTextIO where
+import PreludeBuiltin(Char(..), List(..), Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Bool(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+import PreludeStdIO(_Handle)
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readFile13 :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeReadTextIO_mg.hi b/ghc/lib/prelude/PreludeReadTextIO_mg.hi
new file mode 100644
index 0000000000..24a46143fa
--- /dev/null
+++ b/ghc/lib/prelude/PreludeReadTextIO_mg.hi
@@ -0,0 +1,21 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeReadTextIO where
+import PreludeBuiltin(Char(..), List(..), Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Bool(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+import PreludeStdIO(_Handle)
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readFile13 :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeReadTextIO_mp.hi b/ghc/lib/prelude/PreludeReadTextIO_mp.hi
new file mode 100644
index 0000000000..24a46143fa
--- /dev/null
+++ b/ghc/lib/prelude/PreludeReadTextIO_mp.hi
@@ -0,0 +1,21 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeReadTextIO where
+import PreludeBuiltin(Char(..), List(..), Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Bool(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+import PreludeStdIO(_Handle)
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readFile13 :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeReadTextIO_mr.hi b/ghc/lib/prelude/PreludeReadTextIO_mr.hi
new file mode 100644
index 0000000000..24a46143fa
--- /dev/null
+++ b/ghc/lib/prelude/PreludeReadTextIO_mr.hi
@@ -0,0 +1,21 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeReadTextIO where
+import PreludeBuiltin(Char(..), List(..), Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Bool(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+import PreludeStdIO(_Handle)
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readFile13 :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeReadTextIO_mt.hi b/ghc/lib/prelude/PreludeReadTextIO_mt.hi
new file mode 100644
index 0000000000..24a46143fa
--- /dev/null
+++ b/ghc/lib/prelude/PreludeReadTextIO_mt.hi
@@ -0,0 +1,21 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeReadTextIO where
+import PreludeBuiltin(Char(..), List(..), Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Bool(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+import PreludeStdIO(_Handle)
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readFile13 :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeReadTextIO_p.hi b/ghc/lib/prelude/PreludeReadTextIO_p.hi
new file mode 100644
index 0000000000..24a46143fa
--- /dev/null
+++ b/ghc/lib/prelude/PreludeReadTextIO_p.hi
@@ -0,0 +1,21 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeReadTextIO where
+import PreludeBuiltin(Char(..), List(..), Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Bool(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+import PreludeStdIO(_Handle)
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readFile13 :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeReadTextIO_t.hi b/ghc/lib/prelude/PreludeReadTextIO_t.hi
new file mode 100644
index 0000000000..24a46143fa
--- /dev/null
+++ b/ghc/lib/prelude/PreludeReadTextIO_t.hi
@@ -0,0 +1,21 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeReadTextIO where
+import PreludeBuiltin(Char(..), List(..), Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Bool(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+import PreludeStdIO(_Handle)
+getChar :: _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeReadTextIO hGetChar [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeReadTextIO hGetChar [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+hGetChar :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetContents :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hLookAhead :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Char, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hReady :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readFile13 :: [Char] -> _State _RealWorld -> (Either IOError13 [Char], _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeStdIO.hi b/ghc/lib/prelude/PreludeStdIO.hi
new file mode 100644
index 0000000000..8a2baa35c5
--- /dev/null
+++ b/ghc/lib/prelude/PreludeStdIO.hi
@@ -0,0 +1,72 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeStdIO where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle = _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool
+_bufferMode :: _Handle -> Maybe BufferMode
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_filePtr :: _Handle -> _Addr
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_getBufferMode :: _Handle -> _State _RealWorld -> (_Handle, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "SU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_markHandle :: _Handle -> _Handle
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeStdIO.lhs b/ghc/lib/prelude/PreludeStdIO.lhs
new file mode 100644
index 0000000000..941da2f145
--- /dev/null
+++ b/ghc/lib/prelude/PreludeStdIO.lhs
@@ -0,0 +1,918 @@
+%
+% (c) The GRASP/AQUA Project, Glasgow University, 1994
+%
+\section[PrelStdIO]{Haskell 1.3 Standard I/O}
+
+This module defines Haskell {\em handles} and the operations which are
+supported for them.
+
+Haskell interfaces to the external world through an abstract {\em file
+system}. This file system is a collection of named {\em file system
+objects}, which may be organised in {\em directories} (see
+$LibDirectory$). In some implementations, directories may themselves
+be file system objects and could be entries in other directories. For
+simplicity, any non-directory file system object is termed a {\em
+file}, although it could in fact be a communication channel, or any
+other object recognised by the operating system.
+
+File and directory names are values of type $String$, whose
+precise meaning is operating system dependent. Files can be opened,
+yielding a handle which can then be used to operate on the contents
+of that file.
+
+\subsection[Handles]{Handles}
+
+The standard defines operations to read/write finite sequences of
+items from/to files, represented by values of type $Handle$. Each
+value of this type is a {\em handle}: a record used by the Haskell
+run-time system to {\em manage} I/O with operating system objects.
+
+A handle has at least the following properties:
+\begin{itemize}
+\item whether it manages input or output or both;
+\item whether it is {\em open}, {\em closed} or {\em semi-closed};
+\item the kind of object it manages;
+\item if relevant, a current I/O position;
+\item whether the object is seekable;
+\item whether buffering is disabled, or enabled on a line or block basis;
+\item a buffer (whose length may be zero).
+\end{itemize}
+
+A handle is {\em readable} if it manages only input or both input and
+output; likewise, it is {\em writable} if it manages only output or
+both input and output. A handle is {\em open} when first allocated.
+Once it is closed it can no longer be used for either input or output,
+though an implementation cannot re-use its storage while references
+remain to it.
+
+\subsubsection[SemiClosed]{Semi-Closed Handles}
+
+The operation $hGetContents$ puts a handle {\em hdl}
+into an intermediate state, {\em semi-closed}. In this state,
+{\em hdl} is effectively closed, but items are read from
+{\em hdl} on demand and accumulated in a special stream returned
+by $hGetContents hdl$.
+
+Any operation except for $hClose$ that fails because a handle is
+closed, also fails if a handle is semi-closed. A semi-closed handle
+becomes closed:
+\begin{itemize}
+\item if $hClose$ is applied to it;
+\item if an I/O error occurs when reading an item from the
+file item from the stream;
+\item or once the entire contents of the file has been read.
+\end{itemize}
+
+Once a semi-closed handle becomes closed, the contents of the
+associated stream becomes fixed, and is the list of those items which
+were successfully read from that handle. Any I/O errors encountered
+when a handle is semi-closed are simply discarded.
+
+\begin{code}
+module PreludeStdIO (
+ _Handle(..),
+ Handle(..),
+ FilePath(..),
+ IOMode(..),
+ BufferMode(..),
+ HandlePosn(..),
+ SeekMode(..),
+ stdin13,
+ stdout13,
+ stderr13,
+ openFile,
+ hClose,
+ hFileSize,
+ hIsEOF,
+ isEOF,
+ hSetBuffering,
+ hFlush,
+ hGetPosn,
+ hSetPosn,
+ hSeek,
+ hIsBlockBuffered,
+ hIsLineBuffered,
+ hIsNotBuffered,
+ hIsOpen,
+ hIsClosed,
+ hIsReadable,
+ hIsWritable,
+ hIsSeekable,
+ _filePtr,
+ _bufferMode,
+ _getBufferMode,
+ _markHandle,
+ Maybe(..)
+ ) where
+
+import Cls
+import Core
+import IChar
+import IInt
+import IList
+import List ( (++) )
+import PS ( _PackedString, _unpackPS )
+import Prel ( otherwise, not, (.) )
+import Text
+import TyArray -- instance _CCallable (_ByteArray a)
+
+import PreludeIOError
+import PreludeMonadicIO
+import PreludePrimIO
+import PreludeGlaST
+
+---------------------------------
+infixr 1 `my_then`
+
+my_then :: IO a -> (a -> PrimIO b) -> PrimIO b
+{-# INLINE my_then #-}
+
+my_then m k = m `thenPrimIO` \ r -> k' r
+ where
+ k' (Right x) = k x
+ k' (Left err) = error "my_then"
+---------------------------------
+
+data Maybe a = Nothing | Just a {-partain-}deriving (Eq, Ord, Text)
+
+data _Handle = _ErrorHandle IOError13
+ | _ClosedHandle
+ | _SemiClosedHandle _Addr (_Addr, Int)
+ | _ReadHandle _Addr (Maybe BufferMode) Bool
+ | _WriteHandle _Addr (Maybe BufferMode) Bool
+ | _AppendHandle _Addr (Maybe BufferMode) Bool
+ | _ReadWriteHandle _Addr (Maybe BufferMode) Bool
+ | _SocketHandle _Addr Bool
+
+type Handle = _MVar _Handle
+type FilePath = String
+
+_filePtr :: _Handle -> _Addr
+_filePtr (_SemiClosedHandle fp buf) = fp
+_filePtr (_ReadHandle fp _ _) = fp
+_filePtr (_WriteHandle fp _ _) = fp
+_filePtr (_AppendHandle fp _ _) = fp
+_filePtr (_ReadWriteHandle fp _ _) = fp
+_filePtr (_SocketHandle fp _) = fp
+
+_bufferMode :: _Handle -> Maybe BufferMode
+_bufferMode (_ReadHandle _ m _) = m
+_bufferMode (_WriteHandle _ m _) = m
+_bufferMode (_AppendHandle _ m _) = m
+_bufferMode (_ReadWriteHandle _ m _) = m
+
+_markHandle :: _Handle -> _Handle
+_markHandle h@(_ReadHandle fp m b)
+ | b = h
+ | otherwise = _ReadHandle fp m True
+_markHandle h@(_WriteHandle fp m b)
+ | b = h
+ | otherwise = _WriteHandle fp m True
+_markHandle h@(_AppendHandle fp m b)
+ | b = h
+ | otherwise = _AppendHandle fp m True
+_markHandle h@(_ReadWriteHandle fp m b)
+ | b = h
+ | otherwise = _ReadWriteHandle fp m True
+_markHandle h@(_SocketHandle fp b)
+ | b = h
+ | otherwise = _SocketHandle fp True
+
+\end{code}
+
+\subsubsection[StandardHandles]{Standard Handles}
+
+\begin{code}
+
+stdin13, stdout13, stderr13 :: Handle
+
+stdin13 = unsafePerformPrimIO (
+ newEmptyMVar `my_then` \ handle ->
+ _ccall_ getLock (``stdin''::_Addr) 0 `thenPrimIO` \ rc ->
+ (case rc of
+ 0 -> putMVar handle _ClosedHandle
+ 1 -> putMVar handle (_ReadHandle ``stdin'' Nothing False)
+ _ -> _constructError `thenPrimIO` \ ioError ->
+ putMVar handle (_ErrorHandle ioError)
+ ) `seqPrimIO`
+ returnPrimIO handle
+ )
+
+stdout13 = unsafePerformPrimIO (
+ newEmptyMVar `my_then` \ handle ->
+ _ccall_ getLock (``stdout''::_Addr) 1 `thenPrimIO` \ rc ->
+ (case rc of
+ 0 -> putMVar handle _ClosedHandle
+ 1 -> putMVar handle (_WriteHandle ``stdout'' Nothing False)
+ _ -> _constructError `thenPrimIO` \ ioError ->
+ putMVar handle (_ErrorHandle ioError)
+ ) `seqPrimIO`
+ returnPrimIO handle
+ )
+
+stderr13 = unsafePerformPrimIO (
+ newEmptyMVar `my_then` \ handle ->
+ _ccall_ getLock (``stderr''::_Addr) 1 `thenPrimIO` \ rc ->
+ (case rc of
+ 0 -> putMVar handle _ClosedHandle
+ 1 -> putMVar handle (_WriteHandle ``stderr'' (Just NoBuffering) False)
+ _ -> _constructError `thenPrimIO` \ ioError ->
+ putMVar handle (_ErrorHandle ioError)
+ ) `seqPrimIO`
+ returnPrimIO handle
+ )
+
+\end{code}
+
+Three handles are allocated during program initialisation. The first
+two manage input or output from the Haskell program's standard input
+or output channel respectively. The third manages output to the
+standard error channel. These handles are initially open.
+
+\subsubsection[OpeningClosing]{Opening and Closing Files}
+
+\begin{code}
+
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+
+openFile :: FilePath -> IOMode -> IO Handle
+
+openFile f m =
+ _ccall_ openFile f m' `thenPrimIO` \ ptr ->
+ if ptr /= ``NULL'' then
+ newEmptyMVar >>= \ handle ->
+ putMVar handle (htype ptr Nothing False) >>
+ return handle
+ else
+ _constructError `thenPrimIO` \ ioError ->
+ let
+ improved_error -- a HACK, I guess
+ = case ioError of
+ AlreadyExists msg -> AlreadyExists (msg ++ ": " ++ f)
+ NoSuchThing msg -> NoSuchThing (msg ++ ": " ++ f)
+ PermissionDenied msg -> PermissionDenied (msg ++ ": " ++ f)
+ _ -> ioError
+ in
+ failWith improved_error
+ where
+ m' = case m of
+ ReadMode -> "r"
+ WriteMode -> "w"
+ AppendMode -> "a"
+ ReadWriteMode -> "r+"
+ htype = case m of
+ ReadMode -> _ReadHandle
+ WriteMode -> _WriteHandle
+ AppendMode -> _AppendHandle
+ ReadWriteMode -> _ReadWriteHandle
+
+\end{code}
+
+Computation $openFile file mode$ allocates and returns a new, open
+handle to manage the file {\em file}. It manages input if {\em mode}
+is $ReadMode$, output if {\em mode} is $WriteMode$ or $AppendMode$,
+and both input and output if mode is $ReadWriteMode$.
+
+If the file does not exist and it is opened for output, it should be
+created as a new file. If {\em mode} is $WriteMode$ and the file
+already exists, then it should be truncated to zero length. The
+handle is positioned at the end of the file if {\em mode} is
+$AppendMode$, and otherwise at the beginning (in which case its
+internal position is 0).
+
+Implementations should enforce, locally to the Haskell process,
+multiple-reader single-writer locking on files, which is to say that
+there may either be many handles on the same file which manage input,
+or just one handle on the file which manages output. If any open or
+semi-closed handle is managing a file for output, no new handle can be
+allocated for that file. If any open or semi-closed handle is
+managing a file for input, new handles can only be allocated if they
+do not manage output.
+
+Two files are the same if they have the same absolute name. An
+implementation is free to impose stricter conditions.
+
+\begin{code}
+
+hClose :: Handle -> IO ()
+
+hClose handle =
+ takeMVar handle >>= \ htype ->
+ putMVar handle _ClosedHandle >>
+ case htype of
+ _ErrorHandle ioError ->
+ failWith ioError
+ _ClosedHandle ->
+ failWith (IllegalOperation "handle is closed")
+ _SemiClosedHandle fp (buf,_) ->
+ (if buf /= ``NULL'' then
+ _ccall_ free buf
+ else
+ returnPrimIO ()) `thenPrimIO` \ () ->
+ if fp /= ``NULL'' then
+ _ccall_ closeFile fp `thenPrimIO` \ rc ->
+ if rc == 0 then
+ return ()
+ else
+ _constructError `thenPrimIO` \ ioError ->
+ failWith ioError
+ else
+ return ()
+ other ->
+ _ccall_ closeFile (_filePtr other) `thenPrimIO` \ rc ->
+ if rc == 0 then
+ return ()
+ else
+ _constructError `thenPrimIO` \ ioError ->
+ failWith ioError
+\end{code}
+
+Computation $hClose hdl$ makes handle {\em hdl} closed. Before the
+computation finishes, any items buffered for output and not already
+sent to the operating system are flushed as for $flush$.
+
+\subsubsection[EOF]{Detecting the End of Input}
+
+\begin{code}
+
+hFileSize :: Handle -> IO Integer
+
+hFileSize handle =
+ takeMVar handle >>= \ htype ->
+ case htype of
+ _ErrorHandle ioError ->
+ putMVar handle htype >>
+ failWith ioError
+ _ClosedHandle ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SemiClosedHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SocketHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "socket handles have no size")
+ other ->
+ -- HACK! We build a unique MP_INT of the right shape to hold
+ -- a single unsigned word, and we let the C routine change the data bits
+ _casm_ ``%r = 1;'' `thenPrimIO` \ (I# hack#) ->
+ case int2Integer# hack# of
+ result@(J# _ _ d#) ->
+ _ccall_ fileSize (_filePtr other) (_ByteArray (error "fileSize") d#)
+ `thenPrimIO` \ rc ->
+ putMVar handle htype `seqPrimIO`
+ if rc == 0 then
+ return result
+ else
+ _constructError `thenPrimIO` \ ioError ->
+ failWith ioError
+
+\end{code}
+
+For a handle {\em hdl} which attached to a physical file, $hFileSize
+hdl$ returns the size of {\em hdl} in terms of the number of items
+which can be read from {\em hdl}.
+
+\begin{code}
+
+hIsEOF :: Handle -> IO Bool
+hIsEOF handle =
+ takeMVar handle >>= \ htype ->
+ case htype of
+ _ErrorHandle ioError ->
+ putMVar handle htype >>
+ failWith ioError
+ _ClosedHandle ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SemiClosedHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _WriteHandle _ _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is not open for reading")
+ _AppendHandle _ _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is not open for reading")
+ other ->
+ _ccall_ fileEOF (_filePtr other) `thenPrimIO` \ rc ->
+ putMVar handle (_markHandle htype) >>
+ case rc of
+ 0 -> return False
+ 1 -> return True
+ _ -> _constructError `thenPrimIO` \ ioError ->
+ failWith ioError
+
+isEOF :: IO Bool
+isEOF = hIsEOF stdin13
+
+\end{code}
+
+For a readable handle {\em hdl}, computation $hIsEOF hdl$ returns
+$True$ if no further input can be taken from {\em hdl} or for a
+physical file, if the current I/O position is equal to the length of
+the file. Otherwise, it returns $False$.
+
+\subsubsection[Buffering]{Buffering Operations}
+
+Three kinds of buffering are supported: line-buffering,
+block-buffering or no-buffering. These modes have the following effects.
+For output, items are written out from the internal buffer
+according to the buffer mode:
+\begin{itemize}
+\item[line-buffering] the entire output buffer is written
+out whenever a newline is output, the output buffer overflows,
+a flush is issued, or the handle is closed.
+
+\item[block-buffering] the entire output buffer is written out whenever
+it overflows, a flush is issued, or the handle
+is closed.
+
+\item[no-buffering] output is written immediately, and never stored
+in the output buffer.
+\end{itemize}
+
+The output buffer is emptied as soon as it has been written out.
+
+Similarly, input occurs according to the buffer mode for handle {\em hdl}.
+\begin{itemize}
+\item[line-buffering] when the input buffer for {\em hdl} is not empty,
+the next item is obtained from the buffer;
+otherwise, when the input buffer is empty,
+characters up to and including the next newline
+character are read into the buffer. No characters
+are available until the newline character is
+available.
+\item[block-buffering] when the input buffer for {\em hdl} becomes empty,
+the next block of data is read into this buffer.
+\item[no-buffering] the next input item is read and returned.
+\end{itemize}
+For most implementations, physical files will normally be block-buffered
+and terminals will normally be line-buffered.
+
+\begin{code}
+
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+
+hSetBuffering :: Handle -> BufferMode -> IO ()
+
+hSetBuffering handle mode =
+ case mode of
+ (BlockBuffering (Just n))
+ | n <= 0 -> failWith (InvalidArgument "illegal buffer size")
+ other ->
+ takeMVar handle >>= \ htype ->
+ if isMarked htype then
+ putMVar handle htype >>
+ failWith (UnsupportedOperation "can't set buffering for a dirty handle")
+ else
+ case htype of
+ _ErrorHandle ioError ->
+ putMVar handle htype >>
+ failWith ioError
+ _ClosedHandle ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SemiClosedHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SocketHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "buffering not supported for socket handles")
+ other ->
+ _ccall_ setBuffering (_filePtr other) bsize
+ `thenPrimIO` \ rc ->
+ if rc == 0 then
+ putMVar handle ((hcon other) (_filePtr other) (Just mode) True)
+ >>
+ return ()
+ else
+ putMVar handle htype >>
+ _constructError `thenPrimIO` \ ioError ->
+ failWith ioError
+
+ where
+ isMarked :: _Handle -> Bool
+ isMarked (_ReadHandle fp m b) = b
+ isMarked (_WriteHandle fp m b) = b
+ isMarked (_AppendHandle fp m b) = b
+ isMarked (_ReadWriteHandle fp m b) = b
+ isMarked (_SocketHandle fp b) = b
+
+ bsize :: Int
+ bsize = case mode of
+ NoBuffering -> 0
+ LineBuffering -> -1
+ BlockBuffering Nothing -> -2
+ BlockBuffering (Just n) -> n
+
+ hcon :: _Handle -> (_Addr -> (Maybe BufferMode) -> Bool -> _Handle)
+ hcon (_ReadHandle _ _ _) = _ReadHandle
+ hcon (_WriteHandle _ _ _) = _WriteHandle
+ hcon (_AppendHandle _ _ _) = _AppendHandle
+ hcon (_ReadWriteHandle _ _ _) = _ReadWriteHandle
+
+\end{code}
+
+Computation $hSetBuffering hdl mode$ sets the mode of buffering for
+handle {\em hdl} on subsequent reads and writes.
+
+\begin{itemize}
+\item
+If {\em mode} is $LineBuffering$, line-buffering should be
+enabled if possible.
+\item
+If {\em mode} is $BlockBuffering$ {\em size}, then block-buffering
+should be enabled if possible. The size of the buffer is {\em n} items
+if {\em size} is $Just${\em n} and is otherwise implementation-dependent.
+\item
+If {\em mode} is $NoBuffering$, then buffering is disabled if possible.
+\end{itemize}
+
+If the buffer mode is changed from $BlockBuffering$ or $LineBuffering$
+to $NoBuffering$, then any items in the output buffer are written to
+the device, and any items in the input buffer are discarded. The
+default buffering mode when a handle is opened is
+implementation-dependent and may depend on the object which is
+attached to that handle.
+
+\begin{code}
+
+hFlush :: Handle -> IO ()
+
+hFlush handle =
+ takeMVar handle >>= \ htype ->
+ case htype of
+ _ErrorHandle ioError ->
+ putMVar handle htype >>
+ failWith ioError
+ _ClosedHandle ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SemiClosedHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SocketHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "flush not supported for socket handles")
+ other ->
+ _ccall_ flushFile (_filePtr other) `thenPrimIO` \ rc ->
+ putMVar handle (_markHandle htype) >>
+ if rc == 0 then
+ return ()
+ else
+ _constructError `thenPrimIO` \ ioError ->
+ failWith ioError
+
+\end{code}
+
+Computation $flush hdl$ causes any items
+buffered for output in handle {\em hdl} to be sent immediately to
+the operating system.
+
+\subsubsection[Seeking]{Repositioning Handles}
+
+\begin{code}
+
+type HandlePosn = (Handle, Int)
+
+hGetPosn :: Handle -> IO HandlePosn
+hGetPosn handle =
+ takeMVar handle >>= \ htype ->
+ case htype of
+ _ErrorHandle ioError ->
+ putMVar handle htype >>
+ failWith ioError
+ _ClosedHandle ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SemiClosedHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SocketHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "position not supported for socket handles")
+ other ->
+ _ccall_ getFilePosn (_filePtr other) `thenPrimIO` \ posn ->
+ putMVar handle htype >>
+ if posn /= -1 then
+ return (handle, posn)
+ else
+ _constructError `thenPrimIO` \ ioError ->
+ failWith ioError
+
+hSetPosn :: HandlePosn -> IO ()
+hSetPosn (handle, posn) =
+ takeMVar handle >>= \ htype ->
+ case htype of
+ _ErrorHandle ioError ->
+ putMVar handle htype >>
+ failWith ioError
+ _ClosedHandle ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SemiClosedHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _AppendHandle _ _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is not seekable")
+ _SocketHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "seek not supported for socket handles")
+ other ->
+ _ccall_ setFilePosn (_filePtr other) posn `thenPrimIO` \ rc ->
+ putMVar handle (_markHandle htype) >>
+ if rc == 0 then
+ return ()
+ else
+ _constructError `thenPrimIO` \ ioError ->
+ failWith ioError
+
+\end{code}
+
+Computation $hGetPosn hdl$ returns the current I/O
+position of {\em hdl} as an abstract position. Computation
+$hSetPosn p$ sets the position of {\em hdl}
+to a previously obtained position {\em p}.
+
+\begin{code}
+
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+
+hSeek :: Handle -> SeekMode -> Integer -> IO ()
+hSeek handle mode offset@(J# _ s# d#) =
+ takeMVar handle >>= \ htype ->
+ case htype of
+ _ErrorHandle ioError ->
+ putMVar handle htype >>
+ failWith ioError
+ _ClosedHandle ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SemiClosedHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _AppendHandle _ _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is not seekable")
+ _SocketHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "seek not supported for socket handles")
+ other ->
+ _ccall_ seekFile (_filePtr other) whence (I# s#) (_ByteArray (0,0) d#)
+ `thenPrimIO` \ rc ->
+ putMVar handle (_markHandle htype) >>
+ if rc == 0 then
+ return ()
+ else
+ _constructError `thenPrimIO` \ ioError ->
+ failWith ioError
+ where
+ whence :: Int
+ whence = case mode of
+ AbsoluteSeek -> ``SEEK_SET''
+ RelativeSeek -> ``SEEK_CUR''
+ SeekFromEnd -> ``SEEK_END''
+
+\end{code}
+
+Computation $hSeek hdl mode i$ sets the position of handle
+{\em hdl} depending on $mode$. If {\em mode} is
+\begin{itemize}
+\item[{\bf AbsoluteSeek}] The position of {\em hdl} is set to {\em i}.
+\item[{\bf RelativeSeek}] The position of {\em hdl} is set to offset {\em i} from
+the current position.
+\item[{\bf SeekToEnd}] The position of {\em hdl} is set to offset {\em i} from
+the end of the file.
+\item[{\bf SeekFromBeginning}] The position of {\em hdl} is set to offset {\em i} from
+the beginning of the file.
+\end{itemize}
+
+Some handles may not be seekable $hIsSeekable$, or only support a
+subset of the possible positioning operations (e.g. it may only be
+possible to seek to the end of a tape, or to a positive offset from
+the beginning or current position).
+
+It is not possible to set a negative I/O position, or for a physical
+file, an I/O position beyond the current end-of-file.
+
+\subsubsection[Query]{Handle Properties}
+
+\begin{code}
+
+hIsOpen :: Handle -> IO Bool
+hIsOpen handle =
+ takeMVar handle >>= \ htype ->
+ case htype of
+ _ErrorHandle ioError ->
+ putMVar handle htype >>
+ failWith ioError
+ _ClosedHandle ->
+ putMVar handle htype >>
+ return False
+ _SemiClosedHandle _ _ ->
+ putMVar handle htype >>
+ return False
+ other ->
+ putMVar handle htype >>
+ return True
+
+hIsClosed :: Handle -> IO Bool
+hIsClosed handle =
+ takeMVar handle >>= \ htype ->
+ case htype of
+ _ErrorHandle ioError ->
+ putMVar handle htype >>
+ failWith ioError
+ _ClosedHandle ->
+ putMVar handle htype >>
+ return True
+ other ->
+ putMVar handle htype >>
+ return False
+
+hIsReadable :: Handle -> IO Bool
+hIsReadable handle =
+ takeMVar handle >>= \ htype ->
+ case htype of
+ _ErrorHandle ioError ->
+ putMVar handle htype >>
+ failWith ioError
+ _ClosedHandle ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SemiClosedHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ other ->
+ putMVar handle htype >>
+ return (isReadable other)
+ where
+ isReadable (_ReadHandle _ _ _) = True
+ isReadable (_ReadWriteHandle _ _ _) = True
+ isReadable (_SocketHandle _ _) = True
+ isReadable _ = False
+
+hIsWritable :: Handle -> IO Bool
+hIsWritable handle =
+ takeMVar handle >>= \ htype ->
+ case htype of
+ _ErrorHandle ioError ->
+ putMVar handle htype >>
+ failWith ioError
+ _ClosedHandle ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SemiClosedHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ other ->
+ putMVar handle htype >>
+ return (isWritable other)
+ where
+ isWritable (_AppendHandle _ _ _) = True
+ isWritable (_WriteHandle _ _ _) = True
+ isWritable (_ReadWriteHandle _ _ _) = True
+ isWritable _ = False
+
+_getBufferMode :: _Handle -> PrimIO _Handle
+_getBufferMode htype =
+ case _bufferMode htype of
+ Just x -> returnPrimIO htype
+ Nothing ->
+ _ccall_ getBufferMode (_filePtr htype) `thenPrimIO` \ rc ->
+ let
+ mode =
+ case rc of
+ 0 -> Just NoBuffering
+ -1 -> Just LineBuffering
+ -2 -> Just (BlockBuffering Nothing)
+ -3 -> Nothing
+ n -> Just (BlockBuffering (Just n))
+ in
+ returnPrimIO (case htype of
+ _ReadHandle fp _ b -> _ReadHandle fp mode b
+ _WriteHandle fp _ b -> _WriteHandle fp mode b
+ _AppendHandle fp _ b -> _AppendHandle fp mode b
+ _ReadWriteHandle fp _ b -> _ReadWriteHandle fp mode b)
+
+hIsBlockBuffered :: Handle -> IO (Bool,Maybe Int)
+hIsBlockBuffered handle =
+ takeMVar handle >>= \ htype ->
+ case htype of
+ _ErrorHandle ioError ->
+ putMVar handle htype >>
+ failWith ioError
+ _ClosedHandle ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SemiClosedHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ other ->
+ _getBufferMode other `thenPrimIO` \ other ->
+ case _bufferMode other of
+ Just (BlockBuffering size) ->
+ putMVar handle other >>
+ return (True, size)
+ Just _ ->
+ putMVar handle other >>
+ return (False, Nothing)
+ Nothing ->
+ _constructError `thenPrimIO` \ ioError ->
+ failWith ioError
+
+hIsLineBuffered :: Handle -> IO Bool
+hIsLineBuffered handle =
+ takeMVar handle >>= \ htype ->
+ case htype of
+ _ErrorHandle ioError ->
+ putMVar handle htype >>
+ failWith ioError
+ _ClosedHandle ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SemiClosedHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ other ->
+ _getBufferMode other `thenPrimIO` \ other ->
+ case _bufferMode other of
+ Just LineBuffering ->
+ putMVar handle other >>
+ return True
+ Just _ ->
+ putMVar handle other >>
+ return False
+ Nothing ->
+ _constructError `thenPrimIO` \ ioError ->
+ failWith ioError
+
+hIsNotBuffered :: Handle -> IO Bool
+hIsNotBuffered handle =
+ takeMVar handle >>= \ htype ->
+ case htype of
+ _ErrorHandle ioError ->
+ putMVar handle htype >>
+ failWith ioError
+ _ClosedHandle ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SemiClosedHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ other ->
+ _getBufferMode other `thenPrimIO` \ other ->
+ case _bufferMode other of
+ Just NoBuffering ->
+ putMVar handle other >>
+ return True
+ Just _ ->
+ putMVar handle other >>
+ return False
+ Nothing ->
+ _constructError `thenPrimIO` \ ioError ->
+ failWith ioError
+
+hIsSeekable :: Handle -> IO Bool
+hIsSeekable handle =
+ takeMVar handle >>= \ htype ->
+ case htype of
+ _ErrorHandle ioError ->
+ putMVar handle htype >>
+ failWith ioError
+ _ClosedHandle ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SemiClosedHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _AppendHandle _ _ _ ->
+ putMVar handle htype >>
+ return False
+ _SocketHandle _ _ ->
+ putMVar handle htype >>
+ return False
+ other ->
+ _ccall_ seekFileP (_filePtr other) `thenPrimIO` \ rc ->
+ putMVar handle htype >>
+ case rc of
+ 0 -> return False
+ 1 -> return True
+ _ -> _constructError `thenPrimIO` \ ioError ->
+ failWith ioError
+
+
+\end{code}
+
+A number of operations return information about the properties of a
+handle. Each of these operations returns $True$ if the
+handle has the specified property, and $False$
+otherwise.
+
+Computation $hIsBlockBuffered hdl$ returns $( False, Nothing )$ if
+{\em hdl} is not block-buffered. Otherwise it returns
+$( True, size )$, where {\em size} is $Nothing$ for default buffering, and
+$( Just n )$ for block-buffering of {\em n} bytes.
+
diff --git a/ghc/lib/prelude/PreludeStdIO_mc.hi b/ghc/lib/prelude/PreludeStdIO_mc.hi
new file mode 100644
index 0000000000..8a2baa35c5
--- /dev/null
+++ b/ghc/lib/prelude/PreludeStdIO_mc.hi
@@ -0,0 +1,72 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeStdIO where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle = _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool
+_bufferMode :: _Handle -> Maybe BufferMode
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_filePtr :: _Handle -> _Addr
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_getBufferMode :: _Handle -> _State _RealWorld -> (_Handle, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "SU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_markHandle :: _Handle -> _Handle
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeStdIO_mg.hi b/ghc/lib/prelude/PreludeStdIO_mg.hi
new file mode 100644
index 0000000000..8a2baa35c5
--- /dev/null
+++ b/ghc/lib/prelude/PreludeStdIO_mg.hi
@@ -0,0 +1,72 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeStdIO where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle = _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool
+_bufferMode :: _Handle -> Maybe BufferMode
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_filePtr :: _Handle -> _Addr
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_getBufferMode :: _Handle -> _State _RealWorld -> (_Handle, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "SU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_markHandle :: _Handle -> _Handle
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeStdIO_mp.hi b/ghc/lib/prelude/PreludeStdIO_mp.hi
new file mode 100644
index 0000000000..8a2baa35c5
--- /dev/null
+++ b/ghc/lib/prelude/PreludeStdIO_mp.hi
@@ -0,0 +1,72 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeStdIO where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle = _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool
+_bufferMode :: _Handle -> Maybe BufferMode
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_filePtr :: _Handle -> _Addr
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_getBufferMode :: _Handle -> _State _RealWorld -> (_Handle, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "SU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_markHandle :: _Handle -> _Handle
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeStdIO_mr.hi b/ghc/lib/prelude/PreludeStdIO_mr.hi
new file mode 100644
index 0000000000..8a2baa35c5
--- /dev/null
+++ b/ghc/lib/prelude/PreludeStdIO_mr.hi
@@ -0,0 +1,72 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeStdIO where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle = _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool
+_bufferMode :: _Handle -> Maybe BufferMode
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_filePtr :: _Handle -> _Addr
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_getBufferMode :: _Handle -> _State _RealWorld -> (_Handle, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "SU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_markHandle :: _Handle -> _Handle
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeStdIO_mt.hi b/ghc/lib/prelude/PreludeStdIO_mt.hi
new file mode 100644
index 0000000000..8a2baa35c5
--- /dev/null
+++ b/ghc/lib/prelude/PreludeStdIO_mt.hi
@@ -0,0 +1,72 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeStdIO where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle = _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool
+_bufferMode :: _Handle -> Maybe BufferMode
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_filePtr :: _Handle -> _Addr
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_getBufferMode :: _Handle -> _State _RealWorld -> (_Handle, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "SU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_markHandle :: _Handle -> _Handle
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeStdIO_p.hi b/ghc/lib/prelude/PreludeStdIO_p.hi
new file mode 100644
index 0000000000..8a2baa35c5
--- /dev/null
+++ b/ghc/lib/prelude/PreludeStdIO_p.hi
@@ -0,0 +1,72 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeStdIO where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle = _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool
+_bufferMode :: _Handle -> Maybe BufferMode
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_filePtr :: _Handle -> _Addr
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_getBufferMode :: _Handle -> _State _RealWorld -> (_Handle, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "SU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_markHandle :: _Handle -> _Handle
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeStdIO_t.hi b/ghc/lib/prelude/PreludeStdIO_t.hi
new file mode 100644
index 0000000000..8a2baa35c5
--- /dev/null
+++ b/ghc/lib/prelude/PreludeStdIO_t.hi
@@ -0,0 +1,72 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeStdIO where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, _Addr(..), _RealWorld(..), _State(..))
+import PreludeCore(Bool(..), Eq(..), Ord(..), Text(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data BufferMode = NoBuffering | LineBuffering | BlockBuffering (Maybe Int)
+type FilePath = [Char]
+type Handle = _MVar _Handle
+type HandlePosn = (_MVar _Handle, Int)
+data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode
+data Maybe a = Nothing | Just a
+data SeekMode = AbsoluteSeek | RelativeSeek | SeekFromEnd
+data _Handle = _ErrorHandle IOError13 | _ClosedHandle | _SemiClosedHandle _Addr (_Addr, Int) | _ReadHandle _Addr (Maybe BufferMode) Bool | _WriteHandle _Addr (Maybe BufferMode) Bool | _AppendHandle _Addr (Maybe BufferMode) Bool | _ReadWriteHandle _Addr (Maybe BufferMode) Bool | _SocketHandle _Addr Bool
+_bufferMode :: _Handle -> Maybe BufferMode
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_filePtr :: _Handle -> _Addr
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_getBufferMode :: _Handle -> _State _RealWorld -> (_Handle, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "SU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_markHandle :: _Handle -> _Handle
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+hClose :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFileSize :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Integer, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hFlush :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hGetPosn :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (_MVar _Handle, Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsBlockBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 (Bool, Maybe Int), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsClosed :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsEOF :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsLineBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsNotBuffered :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsOpen :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsReadable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsSeekable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hIsWritable :: _MVar _Handle -> _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSeek :: _MVar _Handle -> SeekMode -> Integer -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "U(P)LU(PPP)U(P)" {_A_ 4 _U_ 2112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetBuffering :: _MVar _Handle -> BufferMode -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hSetPosn :: (_MVar _Handle, Int) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isEOF :: _State _RealWorld -> (Either IOError13 Bool, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 4 \ (u0 :: State# _RealWorld) -> case _ORIG_ PreludeStdIO stdin13 of { _ALG_ _MVar (u1 :: SynchVar# _RealWorld _Handle) -> _APP_ _WRKR_ _ORIG_ PreludeStdIO hIsEOF [ u1, u0 ]; _NO_DEFLT_ } _N_} _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: _State _RealWorld) -> _APP_ _ORIG_ PreludeStdIO hIsEOF [ _ORIG_ PreludeStdIO stdin13, u0 ] _N_ #-}
+openFile :: [Char] -> IOMode -> _State _RealWorld -> (Either IOError13 (_MVar _Handle), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+stderr13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout13 :: _MVar _Handle
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+instance Eq a => Eq (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ #-}
+instance Ord a => Ord (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+instance Text a => Text (Maybe a)
+ {-# GHC_PRAGMA _M_ PreludeStdIO {-dfun-} _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeWriteTextIO.hi b/ghc/lib/prelude/PreludeWriteTextIO.hi
new file mode 100644
index 0000000000..e5c71c3c54
--- /dev/null
+++ b/ghc/lib/prelude/PreludeWriteTextIO.hi
@@ -0,0 +1,27 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeWriteTextIO where
+import PreludeBuiltin(Char(..), List(..), Tuple0, Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Text(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+import PreludeStdIO(_Handle)
+appendFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+print13 :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeWriteTextIO.lhs b/ghc/lib/prelude/PreludeWriteTextIO.lhs
new file mode 100644
index 0000000000..000c343637
--- /dev/null
+++ b/ghc/lib/prelude/PreludeWriteTextIO.lhs
@@ -0,0 +1,190 @@
+%
+% (c) The GRASP/AQUA Project, Glasgow University, 1994
+%
+\section[PrelWriteTextIO]{Haskell 1.3 Text Output}
+
+This module defines the standard set of output operations for writing
+characters and strings to text files, using
+$handles$
+
+\begin{code}
+module PreludeWriteTextIO (
+ hPutChar,
+ putChar,
+ hPutStr,
+ putStr,
+ hPutText,
+ putText,
+ print13,
+ writeFile13,
+ appendFile13
+ ) where
+
+import Cls
+import Core
+import IChar
+import IInt
+import IList
+import List ( splitAt, (++) )
+import Prel ( ord, (.), otherwise )
+import Text
+import TyArray -- instance _CCallable (_ByteArray a)
+
+import PreludeIOError
+import PreludeMonadicIO
+import PreludePrimIO
+import PreludeGlaST
+import PreludeStdIO
+import PS
+
+hPutChar :: Handle -> Char -> IO ()
+hPutChar handle c =
+ takeMVar handle >>= \ htype ->
+ case htype of
+ _ErrorHandle ioError ->
+ putMVar handle htype >>
+ failWith ioError
+ _ClosedHandle ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SemiClosedHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _ReadHandle _ _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is not open for writing")
+ other ->
+ _ccall_ filePutc (_filePtr other) (ord c) `thenPrimIO` \ rc ->
+ putMVar handle (_markHandle htype) >>
+ if rc == 0 then
+ return ()
+ else
+ _constructError `thenPrimIO` \ ioError ->
+ failWith ioError
+
+putChar :: Char -> IO ()
+putChar = hPutChar stdout13
+
+\end{code}
+
+Computation $hPutChar hdl c$ writes the character {\em c} to the file
+or channel managed by {\em hdl}. Characters may be buffered if
+buffering is enabled for {\em hdl}.
+
+\begin{code}
+hPutStr :: Handle -> String -> IO ()
+hPutStr handle str =
+ takeMVar handle >>= \ htype ->
+ case htype of
+ _ErrorHandle ioError ->
+ putMVar handle htype >>
+ failWith ioError
+ _ClosedHandle ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _SemiClosedHandle _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is closed")
+ _ReadHandle _ _ _ ->
+ putMVar handle htype >>
+ failWith (IllegalOperation "handle is not open for writing")
+ other ->
+ _getBufferMode other `thenPrimIO` \ other ->
+ (case _bufferMode other of
+ Just LineBuffering ->
+ writeLines (_filePtr other) str
+ Just (BlockBuffering (Just size)) ->
+ writeBlocks (_filePtr other) size str
+ Just (BlockBuffering Nothing) ->
+ writeBlocks (_filePtr other) ``BUFSIZ'' str
+ _ -> -- Nothing is treated pessimistically as NoBuffering
+ writeChars (_filePtr other) str
+ ) `thenPrimIO` \ success ->
+ putMVar handle (_markHandle other) `seqPrimIO`
+ if success then
+ return ()
+ else
+ _constructError `thenPrimIO` \ ioError ->
+ failWith ioError
+
+ where
+
+ writeBlocks :: _Addr -> Int -> String -> PrimIO Bool
+ writeBlocks fp size "" = returnPrimIO True
+ writeBlocks fp size s =
+ let
+ (some, more) = splitAt size s
+ in
+ _packBytesForCST some `thenPrimIO`
+ \ bytes@(_ByteArray (0, count) _) ->
+ _ccall_ writeFile bytes fp (count+1) `thenPrimIO` \ rc ->
+ if rc == 0 then
+ writeBlocks fp size more
+ else
+ returnPrimIO False
+
+ writeLines :: _Addr -> String -> PrimIO Bool
+ writeLines fp "" = returnPrimIO True
+ writeLines fp s =
+ let
+ (some, more) = breakLine s
+ in
+ _packBytesForCST some `thenPrimIO`
+ \ bytes@(_ByteArray (0, count) _) ->
+ _ccall_ writeFile bytes fp (count+1) `thenPrimIO` \ rc ->
+ if rc == 0 then
+ writeLines fp more
+ else
+ returnPrimIO False
+ where
+ breakLine "" = ("","")
+ breakLine (x:xs)
+ | x == '\n' = ([x],xs)
+ | otherwise = let (ys,zs) = breakLine xs in (x:ys,zs)
+
+ writeChars :: _Addr -> String -> PrimIO Bool
+ writeChars fp "" = returnPrimIO True
+ writeChars fp (c:cs) =
+ _ccall_ filePutc fp (ord c) `thenPrimIO` \ rc ->
+ if rc == 0 then
+ writeChars fp cs
+ else
+ returnPrimIO False
+
+putStr :: String -> IO ()
+putStr = hPutStr stdout13
+
+hPutText :: Text a => Handle -> a -> IO ()
+hPutText hdl = hPutStr hdl . show
+
+putText :: Text a => a -> IO ()
+putText = hPutText stdout13
+
+print13 :: Text a => a -> IO ()
+print13 x = putText x >> putChar '\n'
+
+\end{code}
+
+Computation $hPutStr hdl s$ writes the string {\em s} to the file or
+channel managed by {\em hdl}.
+
+Computation $putStr s$ writes the string {\em s} to $stdout$.
+
+Computation $hPutText hdl t$ writes the string representation of {\em
+t} given by the $shows$ function to the file or channel managed by
+{\em hdl}.
+
+\begin{code}
+
+writeFile13 :: FilePath -> String -> IO ()
+writeFile13 name str =
+ openFile name WriteMode >>= \hdl -> hPutStr hdl str >> hClose hdl
+
+appendFile13 :: FilePath -> String -> IO ()
+appendFile13 name str =
+ openFile name AppendMode >>= \hdl -> hPutStr hdl str >> hClose hdl
+
+\end{code}
+
+$writeFile file s$ replaces the contents of {\em file} by the string
+{\em s}. $appendFile file s$ appends string {\em s} to {\em file}.
diff --git a/ghc/lib/prelude/PreludeWriteTextIO_mc.hi b/ghc/lib/prelude/PreludeWriteTextIO_mc.hi
new file mode 100644
index 0000000000..e5c71c3c54
--- /dev/null
+++ b/ghc/lib/prelude/PreludeWriteTextIO_mc.hi
@@ -0,0 +1,27 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeWriteTextIO where
+import PreludeBuiltin(Char(..), List(..), Tuple0, Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Text(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+import PreludeStdIO(_Handle)
+appendFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+print13 :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeWriteTextIO_mg.hi b/ghc/lib/prelude/PreludeWriteTextIO_mg.hi
new file mode 100644
index 0000000000..e5c71c3c54
--- /dev/null
+++ b/ghc/lib/prelude/PreludeWriteTextIO_mg.hi
@@ -0,0 +1,27 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeWriteTextIO where
+import PreludeBuiltin(Char(..), List(..), Tuple0, Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Text(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+import PreludeStdIO(_Handle)
+appendFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+print13 :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeWriteTextIO_mp.hi b/ghc/lib/prelude/PreludeWriteTextIO_mp.hi
new file mode 100644
index 0000000000..e5c71c3c54
--- /dev/null
+++ b/ghc/lib/prelude/PreludeWriteTextIO_mp.hi
@@ -0,0 +1,27 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeWriteTextIO where
+import PreludeBuiltin(Char(..), List(..), Tuple0, Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Text(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+import PreludeStdIO(_Handle)
+appendFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+print13 :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeWriteTextIO_mr.hi b/ghc/lib/prelude/PreludeWriteTextIO_mr.hi
new file mode 100644
index 0000000000..e5c71c3c54
--- /dev/null
+++ b/ghc/lib/prelude/PreludeWriteTextIO_mr.hi
@@ -0,0 +1,27 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeWriteTextIO where
+import PreludeBuiltin(Char(..), List(..), Tuple0, Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Text(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+import PreludeStdIO(_Handle)
+appendFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+print13 :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeWriteTextIO_mt.hi b/ghc/lib/prelude/PreludeWriteTextIO_mt.hi
new file mode 100644
index 0000000000..e5c71c3c54
--- /dev/null
+++ b/ghc/lib/prelude/PreludeWriteTextIO_mt.hi
@@ -0,0 +1,27 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeWriteTextIO where
+import PreludeBuiltin(Char(..), List(..), Tuple0, Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Text(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+import PreludeStdIO(_Handle)
+appendFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+print13 :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeWriteTextIO_p.hi b/ghc/lib/prelude/PreludeWriteTextIO_p.hi
new file mode 100644
index 0000000000..e5c71c3c54
--- /dev/null
+++ b/ghc/lib/prelude/PreludeWriteTextIO_p.hi
@@ -0,0 +1,27 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeWriteTextIO where
+import PreludeBuiltin(Char(..), List(..), Tuple0, Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Text(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+import PreludeStdIO(_Handle)
+appendFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+print13 :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/PreludeWriteTextIO_t.hi b/ghc/lib/prelude/PreludeWriteTextIO_t.hi
new file mode 100644
index 0000000000..e5c71c3c54
--- /dev/null
+++ b/ghc/lib/prelude/PreludeWriteTextIO_t.hi
@@ -0,0 +1,27 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeWriteTextIO where
+import PreludeBuiltin(Char(..), List(..), Tuple0, Tuple2, _RealWorld(..), _State(..))
+import PreludeCore(Text(..))
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+import PreludeStdIO(_Handle)
+appendFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutChar :: _MVar _Handle -> Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutStr :: _MVar _Handle -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+hPutText :: Text a => _MVar _Handle -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1121 _N_ _N_ _N_ _N_ #-}
+print13 :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+putChar :: Char -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutChar [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putStr :: [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _ORIG_ PreludeWriteTextIO hPutStr [ _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+putText :: Text a => a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 3 _/\_ u0 -> \ (u1 :: {{Text u0}}) -> _APP_ _TYAPP_ _ORIG_ PreludeWriteTextIO hPutText { u0 } [ u1, _ORIG_ PreludeStdIO stdout13 ] _N_ #-}
+writeFile13 :: [Char] -> [Char] -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Prelude_mc.hi b/ghc/lib/prelude/Prelude_mc.hi
new file mode 100644
index 0000000000..fbce1ccdea
--- /dev/null
+++ b/ghc/lib/prelude/Prelude_mc.hi
@@ -0,0 +1,463 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeArray((!), (//), Array, Assoc, _ByteArray, accum, accumArray, amap, array, assocs, bounds, elems, indices, ixmap, listArray)
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7, _Addr(..), _RealWorld(..), _State(..))
+import PreludeComplex(Complex, cis, conjugate, imagPart, magnitude, mkPolar, phase, polar, realPart)
+import PreludeCore(Bool(..), Eq(..), Fractional(..), Integral(..), Ix(..), Num(..), Ord(..), Real(..), RealFloat(..), RealFrac(..), Text(..), _ceiling, _floor, _readList, _round, _showList, _showRational, _truncate)
+import PreludeIO(IOError, Request, Response, SigAct, abort, appendBinChan, appendBinFile, appendChan, appendFile, binDispatch, deleteFile, done, echo, exit, getArgs, getEnv, getProgName, interact, print, prints, readBinChan, readBinFile, readChan, readFile, setEnv, sigAction, statusChan, statusFile, stdecho, stderr, stdin, stdout, strDispatch, strListDispatch, succDispatch, writeBinFile, writeFile)
+import PreludeList((!!), (++), (\\), all, and, any, break, concat, cycle, drop, dropWhile, elem, filter, foldl1, foldr1, genericLength, head, init, iterate, last, length, lines, map, maximum, minimum, notElem, nub, null, or, partition, product, products, repeat, reverse, scanl, scanl1, scanr, scanr1, span, splitAt, sum, sums, tail, take, takeWhile, transpose, unlines, unwords, unzip, unzip3, unzip4, unzip5, unzip6, unzip7, words, zip, zip3, zip4, zip5, zip6, zip7, zipWith, zipWith3, zipWith4, zipWith5, zipWith6, zipWith7)
+import PreludePS(_PackedString, _appendPS, _breakPS, _byteArrayToPS, _concatPS, _consPS, _dropPS, _dropWhilePS, _filterPS, _foldlPS, _foldrPS, _headPS, _indexPS, _lengthPS, _linesPS, _mapPS, _nilPS, _nullPS, _packCBytes, _packCString, _packString, _psToByteArray, _putPS, _reversePS, _spanPS, _splitAtPS, _substrPS, _tailPS, _takePS, _takeWhilePS, _unpackPS, _wordsPS)
+import PreludeRatio((%), Ratio(..), approxRational, denominator, numerator)
+import PreludeText(_readRational, _showDigit, _showHex, _showRadix, lex, read, readDec, readFloat, readLitChar, readParen, readSigned, reads, show, showChar, showFloat, showInt, showLitChar, showParen, showSigned, showSpace__, showString, shows)
+import Stdio(_FILE)
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: Ratio Integer -> u1) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ uf ] _N_} _F_ _IF_ARGS_ 2 3 CCX 8 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Fractional u1}}) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_4 (ug :: {{Num u1}}) (uh :: u1 -> u1 -> u1) (ui :: u1 -> u1) (uj :: Ratio Integer -> u1) -> _APP_ uj [ uf ]; _NO_DEFLT_ } _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+abort :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 2 _U_ 00 _N_ _S_ "A" {_A_ 1 _U_ 0 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: IOError) -> _ORIG_ PreludeIO done _N_ #-}
+appendBinChan :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendChan :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+binDispatch :: (IOError -> [Response] -> a) -> (Bin -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+deleteFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+done :: [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_ #-}
+echo :: Bool -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+exit :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+getArgs :: (IOError -> [Response] -> [Request]) -> ([[Char]] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+getEnv :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+getProgName :: (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+interact :: ([Char] -> [Char]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+prints :: Text a => a -> [Char] -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1221 _N_ _N_ _N_ _N_ #-}
+readBinChan :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readBinFile :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+setEnv :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+sigAction :: Int -> SigAct -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+statusChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+statusFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+stdecho :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stderr :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+strDispatch :: (IOError -> [Response] -> a) -> ([Char] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+strListDispatch :: (IOError -> [Response] -> a) -> ([[Char]] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+succDispatch :: (IOError -> [Response] -> a) -> ([Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+writeBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+writeFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/Prelude_mg.hi b/ghc/lib/prelude/Prelude_mg.hi
new file mode 100644
index 0000000000..fbce1ccdea
--- /dev/null
+++ b/ghc/lib/prelude/Prelude_mg.hi
@@ -0,0 +1,463 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeArray((!), (//), Array, Assoc, _ByteArray, accum, accumArray, amap, array, assocs, bounds, elems, indices, ixmap, listArray)
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7, _Addr(..), _RealWorld(..), _State(..))
+import PreludeComplex(Complex, cis, conjugate, imagPart, magnitude, mkPolar, phase, polar, realPart)
+import PreludeCore(Bool(..), Eq(..), Fractional(..), Integral(..), Ix(..), Num(..), Ord(..), Real(..), RealFloat(..), RealFrac(..), Text(..), _ceiling, _floor, _readList, _round, _showList, _showRational, _truncate)
+import PreludeIO(IOError, Request, Response, SigAct, abort, appendBinChan, appendBinFile, appendChan, appendFile, binDispatch, deleteFile, done, echo, exit, getArgs, getEnv, getProgName, interact, print, prints, readBinChan, readBinFile, readChan, readFile, setEnv, sigAction, statusChan, statusFile, stdecho, stderr, stdin, stdout, strDispatch, strListDispatch, succDispatch, writeBinFile, writeFile)
+import PreludeList((!!), (++), (\\), all, and, any, break, concat, cycle, drop, dropWhile, elem, filter, foldl1, foldr1, genericLength, head, init, iterate, last, length, lines, map, maximum, minimum, notElem, nub, null, or, partition, product, products, repeat, reverse, scanl, scanl1, scanr, scanr1, span, splitAt, sum, sums, tail, take, takeWhile, transpose, unlines, unwords, unzip, unzip3, unzip4, unzip5, unzip6, unzip7, words, zip, zip3, zip4, zip5, zip6, zip7, zipWith, zipWith3, zipWith4, zipWith5, zipWith6, zipWith7)
+import PreludePS(_PackedString, _appendPS, _breakPS, _byteArrayToPS, _concatPS, _consPS, _dropPS, _dropWhilePS, _filterPS, _foldlPS, _foldrPS, _headPS, _indexPS, _lengthPS, _linesPS, _mapPS, _nilPS, _nullPS, _packCBytes, _packCString, _packString, _psToByteArray, _putPS, _reversePS, _spanPS, _splitAtPS, _substrPS, _tailPS, _takePS, _takeWhilePS, _unpackPS, _wordsPS)
+import PreludeRatio((%), Ratio(..), approxRational, denominator, numerator)
+import PreludeText(_readRational, _showDigit, _showHex, _showRadix, lex, read, readDec, readFloat, readLitChar, readParen, readSigned, reads, show, showChar, showFloat, showInt, showLitChar, showParen, showSigned, showSpace__, showString, shows)
+import Stdio(_FILE)
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: Ratio Integer -> u1) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ uf ] _N_} _F_ _IF_ARGS_ 2 3 CCX 8 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Fractional u1}}) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_4 (ug :: {{Num u1}}) (uh :: u1 -> u1 -> u1) (ui :: u1 -> u1) (uj :: Ratio Integer -> u1) -> _APP_ uj [ uf ]; _NO_DEFLT_ } _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+abort :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 2 _U_ 00 _N_ _S_ "A" {_A_ 1 _U_ 0 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: IOError) -> _ORIG_ PreludeIO done _N_ #-}
+appendBinChan :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendChan :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+binDispatch :: (IOError -> [Response] -> a) -> (Bin -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+deleteFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+done :: [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_ #-}
+echo :: Bool -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+exit :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+getArgs :: (IOError -> [Response] -> [Request]) -> ([[Char]] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+getEnv :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+getProgName :: (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+interact :: ([Char] -> [Char]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+prints :: Text a => a -> [Char] -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1221 _N_ _N_ _N_ _N_ #-}
+readBinChan :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readBinFile :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+setEnv :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+sigAction :: Int -> SigAct -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+statusChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+statusFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+stdecho :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stderr :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+strDispatch :: (IOError -> [Response] -> a) -> ([Char] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+strListDispatch :: (IOError -> [Response] -> a) -> ([[Char]] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+succDispatch :: (IOError -> [Response] -> a) -> ([Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+writeBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+writeFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/Prelude_mp.hi b/ghc/lib/prelude/Prelude_mp.hi
new file mode 100644
index 0000000000..fbce1ccdea
--- /dev/null
+++ b/ghc/lib/prelude/Prelude_mp.hi
@@ -0,0 +1,463 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeArray((!), (//), Array, Assoc, _ByteArray, accum, accumArray, amap, array, assocs, bounds, elems, indices, ixmap, listArray)
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7, _Addr(..), _RealWorld(..), _State(..))
+import PreludeComplex(Complex, cis, conjugate, imagPart, magnitude, mkPolar, phase, polar, realPart)
+import PreludeCore(Bool(..), Eq(..), Fractional(..), Integral(..), Ix(..), Num(..), Ord(..), Real(..), RealFloat(..), RealFrac(..), Text(..), _ceiling, _floor, _readList, _round, _showList, _showRational, _truncate)
+import PreludeIO(IOError, Request, Response, SigAct, abort, appendBinChan, appendBinFile, appendChan, appendFile, binDispatch, deleteFile, done, echo, exit, getArgs, getEnv, getProgName, interact, print, prints, readBinChan, readBinFile, readChan, readFile, setEnv, sigAction, statusChan, statusFile, stdecho, stderr, stdin, stdout, strDispatch, strListDispatch, succDispatch, writeBinFile, writeFile)
+import PreludeList((!!), (++), (\\), all, and, any, break, concat, cycle, drop, dropWhile, elem, filter, foldl1, foldr1, genericLength, head, init, iterate, last, length, lines, map, maximum, minimum, notElem, nub, null, or, partition, product, products, repeat, reverse, scanl, scanl1, scanr, scanr1, span, splitAt, sum, sums, tail, take, takeWhile, transpose, unlines, unwords, unzip, unzip3, unzip4, unzip5, unzip6, unzip7, words, zip, zip3, zip4, zip5, zip6, zip7, zipWith, zipWith3, zipWith4, zipWith5, zipWith6, zipWith7)
+import PreludePS(_PackedString, _appendPS, _breakPS, _byteArrayToPS, _concatPS, _consPS, _dropPS, _dropWhilePS, _filterPS, _foldlPS, _foldrPS, _headPS, _indexPS, _lengthPS, _linesPS, _mapPS, _nilPS, _nullPS, _packCBytes, _packCString, _packString, _psToByteArray, _putPS, _reversePS, _spanPS, _splitAtPS, _substrPS, _tailPS, _takePS, _takeWhilePS, _unpackPS, _wordsPS)
+import PreludeRatio((%), Ratio(..), approxRational, denominator, numerator)
+import PreludeText(_readRational, _showDigit, _showHex, _showRadix, lex, read, readDec, readFloat, readLitChar, readParen, readSigned, reads, show, showChar, showFloat, showInt, showLitChar, showParen, showSigned, showSpace__, showString, shows)
+import Stdio(_FILE)
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: Ratio Integer -> u1) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ uf ] _N_} _F_ _IF_ARGS_ 2 3 CCX 8 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Fractional u1}}) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_4 (ug :: {{Num u1}}) (uh :: u1 -> u1 -> u1) (ui :: u1 -> u1) (uj :: Ratio Integer -> u1) -> _APP_ uj [ uf ]; _NO_DEFLT_ } _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+abort :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 2 _U_ 00 _N_ _S_ "A" {_A_ 1 _U_ 0 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: IOError) -> _ORIG_ PreludeIO done _N_ #-}
+appendBinChan :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendChan :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+binDispatch :: (IOError -> [Response] -> a) -> (Bin -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+deleteFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+done :: [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_ #-}
+echo :: Bool -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+exit :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+getArgs :: (IOError -> [Response] -> [Request]) -> ([[Char]] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+getEnv :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+getProgName :: (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+interact :: ([Char] -> [Char]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+prints :: Text a => a -> [Char] -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1221 _N_ _N_ _N_ _N_ #-}
+readBinChan :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readBinFile :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+setEnv :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+sigAction :: Int -> SigAct -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+statusChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+statusFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+stdecho :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stderr :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+strDispatch :: (IOError -> [Response] -> a) -> ([Char] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+strListDispatch :: (IOError -> [Response] -> a) -> ([[Char]] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+succDispatch :: (IOError -> [Response] -> a) -> ([Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+writeBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+writeFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/Prelude_mr.hi b/ghc/lib/prelude/Prelude_mr.hi
new file mode 100644
index 0000000000..fbce1ccdea
--- /dev/null
+++ b/ghc/lib/prelude/Prelude_mr.hi
@@ -0,0 +1,463 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeArray((!), (//), Array, Assoc, _ByteArray, accum, accumArray, amap, array, assocs, bounds, elems, indices, ixmap, listArray)
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7, _Addr(..), _RealWorld(..), _State(..))
+import PreludeComplex(Complex, cis, conjugate, imagPart, magnitude, mkPolar, phase, polar, realPart)
+import PreludeCore(Bool(..), Eq(..), Fractional(..), Integral(..), Ix(..), Num(..), Ord(..), Real(..), RealFloat(..), RealFrac(..), Text(..), _ceiling, _floor, _readList, _round, _showList, _showRational, _truncate)
+import PreludeIO(IOError, Request, Response, SigAct, abort, appendBinChan, appendBinFile, appendChan, appendFile, binDispatch, deleteFile, done, echo, exit, getArgs, getEnv, getProgName, interact, print, prints, readBinChan, readBinFile, readChan, readFile, setEnv, sigAction, statusChan, statusFile, stdecho, stderr, stdin, stdout, strDispatch, strListDispatch, succDispatch, writeBinFile, writeFile)
+import PreludeList((!!), (++), (\\), all, and, any, break, concat, cycle, drop, dropWhile, elem, filter, foldl1, foldr1, genericLength, head, init, iterate, last, length, lines, map, maximum, minimum, notElem, nub, null, or, partition, product, products, repeat, reverse, scanl, scanl1, scanr, scanr1, span, splitAt, sum, sums, tail, take, takeWhile, transpose, unlines, unwords, unzip, unzip3, unzip4, unzip5, unzip6, unzip7, words, zip, zip3, zip4, zip5, zip6, zip7, zipWith, zipWith3, zipWith4, zipWith5, zipWith6, zipWith7)
+import PreludePS(_PackedString, _appendPS, _breakPS, _byteArrayToPS, _concatPS, _consPS, _dropPS, _dropWhilePS, _filterPS, _foldlPS, _foldrPS, _headPS, _indexPS, _lengthPS, _linesPS, _mapPS, _nilPS, _nullPS, _packCBytes, _packCString, _packString, _psToByteArray, _putPS, _reversePS, _spanPS, _splitAtPS, _substrPS, _tailPS, _takePS, _takeWhilePS, _unpackPS, _wordsPS)
+import PreludeRatio((%), Ratio(..), approxRational, denominator, numerator)
+import PreludeText(_readRational, _showDigit, _showHex, _showRadix, lex, read, readDec, readFloat, readLitChar, readParen, readSigned, reads, show, showChar, showFloat, showInt, showLitChar, showParen, showSigned, showSpace__, showString, shows)
+import Stdio(_FILE)
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: Ratio Integer -> u1) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ uf ] _N_} _F_ _IF_ARGS_ 2 3 CCX 8 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Fractional u1}}) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_4 (ug :: {{Num u1}}) (uh :: u1 -> u1 -> u1) (ui :: u1 -> u1) (uj :: Ratio Integer -> u1) -> _APP_ uj [ uf ]; _NO_DEFLT_ } _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+abort :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 2 _U_ 00 _N_ _S_ "A" {_A_ 1 _U_ 0 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: IOError) -> _ORIG_ PreludeIO done _N_ #-}
+appendBinChan :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendChan :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+binDispatch :: (IOError -> [Response] -> a) -> (Bin -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+deleteFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+done :: [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_ #-}
+echo :: Bool -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+exit :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+getArgs :: (IOError -> [Response] -> [Request]) -> ([[Char]] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+getEnv :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+getProgName :: (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+interact :: ([Char] -> [Char]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+prints :: Text a => a -> [Char] -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1221 _N_ _N_ _N_ _N_ #-}
+readBinChan :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readBinFile :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+setEnv :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+sigAction :: Int -> SigAct -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+statusChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+statusFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+stdecho :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stderr :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+strDispatch :: (IOError -> [Response] -> a) -> ([Char] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+strListDispatch :: (IOError -> [Response] -> a) -> ([[Char]] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+succDispatch :: (IOError -> [Response] -> a) -> ([Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+writeBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+writeFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/Prelude_mt.hi b/ghc/lib/prelude/Prelude_mt.hi
new file mode 100644
index 0000000000..fbce1ccdea
--- /dev/null
+++ b/ghc/lib/prelude/Prelude_mt.hi
@@ -0,0 +1,463 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeArray((!), (//), Array, Assoc, _ByteArray, accum, accumArray, amap, array, assocs, bounds, elems, indices, ixmap, listArray)
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7, _Addr(..), _RealWorld(..), _State(..))
+import PreludeComplex(Complex, cis, conjugate, imagPart, magnitude, mkPolar, phase, polar, realPart)
+import PreludeCore(Bool(..), Eq(..), Fractional(..), Integral(..), Ix(..), Num(..), Ord(..), Real(..), RealFloat(..), RealFrac(..), Text(..), _ceiling, _floor, _readList, _round, _showList, _showRational, _truncate)
+import PreludeIO(IOError, Request, Response, SigAct, abort, appendBinChan, appendBinFile, appendChan, appendFile, binDispatch, deleteFile, done, echo, exit, getArgs, getEnv, getProgName, interact, print, prints, readBinChan, readBinFile, readChan, readFile, setEnv, sigAction, statusChan, statusFile, stdecho, stderr, stdin, stdout, strDispatch, strListDispatch, succDispatch, writeBinFile, writeFile)
+import PreludeList((!!), (++), (\\), all, and, any, break, concat, cycle, drop, dropWhile, elem, filter, foldl1, foldr1, genericLength, head, init, iterate, last, length, lines, map, maximum, minimum, notElem, nub, null, or, partition, product, products, repeat, reverse, scanl, scanl1, scanr, scanr1, span, splitAt, sum, sums, tail, take, takeWhile, transpose, unlines, unwords, unzip, unzip3, unzip4, unzip5, unzip6, unzip7, words, zip, zip3, zip4, zip5, zip6, zip7, zipWith, zipWith3, zipWith4, zipWith5, zipWith6, zipWith7)
+import PreludePS(_PackedString, _appendPS, _breakPS, _byteArrayToPS, _concatPS, _consPS, _dropPS, _dropWhilePS, _filterPS, _foldlPS, _foldrPS, _headPS, _indexPS, _lengthPS, _linesPS, _mapPS, _nilPS, _nullPS, _packCBytes, _packCString, _packString, _psToByteArray, _putPS, _reversePS, _spanPS, _splitAtPS, _substrPS, _tailPS, _takePS, _takeWhilePS, _unpackPS, _wordsPS)
+import PreludeRatio((%), Ratio(..), approxRational, denominator, numerator)
+import PreludeText(_readRational, _showDigit, _showHex, _showRadix, lex, read, readDec, readFloat, readLitChar, readParen, readSigned, reads, show, showChar, showFloat, showInt, showLitChar, showParen, showSigned, showSpace__, showString, shows)
+import Stdio(_FILE)
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: Ratio Integer -> u1) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ uf ] _N_} _F_ _IF_ARGS_ 2 3 CCX 8 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Fractional u1}}) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_4 (ug :: {{Num u1}}) (uh :: u1 -> u1 -> u1) (ui :: u1 -> u1) (uj :: Ratio Integer -> u1) -> _APP_ uj [ uf ]; _NO_DEFLT_ } _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+abort :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 2 _U_ 00 _N_ _S_ "A" {_A_ 1 _U_ 0 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: IOError) -> _ORIG_ PreludeIO done _N_ #-}
+appendBinChan :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendChan :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+binDispatch :: (IOError -> [Response] -> a) -> (Bin -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+deleteFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+done :: [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_ #-}
+echo :: Bool -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+exit :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+getArgs :: (IOError -> [Response] -> [Request]) -> ([[Char]] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+getEnv :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+getProgName :: (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+interact :: ([Char] -> [Char]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+prints :: Text a => a -> [Char] -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1221 _N_ _N_ _N_ _N_ #-}
+readBinChan :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readBinFile :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+setEnv :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+sigAction :: Int -> SigAct -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+statusChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+statusFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+stdecho :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stderr :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+strDispatch :: (IOError -> [Response] -> a) -> ([Char] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+strListDispatch :: (IOError -> [Response] -> a) -> ([[Char]] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+succDispatch :: (IOError -> [Response] -> a) -> ([Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+writeBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+writeFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/Prelude_p.hi b/ghc/lib/prelude/Prelude_p.hi
new file mode 100644
index 0000000000..44a861cd37
--- /dev/null
+++ b/ghc/lib/prelude/Prelude_p.hi
@@ -0,0 +1,463 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeArray((!), (//), Array, Assoc, _ByteArray, accum, accumArray, amap, array, assocs, bounds, elems, indices, ixmap, listArray)
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7, _Addr(..), _RealWorld(..), _State(..))
+import PreludeComplex(Complex, cis, conjugate, imagPart, magnitude, mkPolar, phase, polar, realPart)
+import PreludeCore(Bool(..), Eq(..), Fractional(..), Integral(..), Ix(..), Num(..), Ord(..), Real(..), RealFloat(..), RealFrac(..), Text(..), _ceiling, _floor, _readList, _round, _showList, _showRational, _truncate)
+import PreludeIO(IOError, Request, Response, SigAct, abort, appendBinChan, appendBinFile, appendChan, appendFile, binDispatch, deleteFile, done, echo, exit, getArgs, getEnv, getProgName, interact, print, prints, readBinChan, readBinFile, readChan, readFile, setEnv, sigAction, statusChan, statusFile, stdecho, stderr, stdin, stdout, strDispatch, strListDispatch, succDispatch, writeBinFile, writeFile)
+import PreludeList((!!), (++), (\\), all, and, any, break, concat, cycle, drop, dropWhile, elem, filter, foldl1, foldr1, genericLength, head, init, iterate, last, length, lines, map, maximum, minimum, notElem, nub, null, or, partition, product, products, repeat, reverse, scanl, scanl1, scanr, scanr1, span, splitAt, sum, sums, tail, take, takeWhile, transpose, unlines, unwords, unzip, unzip3, unzip4, unzip5, unzip6, unzip7, words, zip, zip3, zip4, zip5, zip6, zip7, zipWith, zipWith3, zipWith4, zipWith5, zipWith6, zipWith7)
+import PreludePS(_PackedString, _appendPS, _breakPS, _byteArrayToPS, _concatPS, _consPS, _dropPS, _dropWhilePS, _filterPS, _foldlPS, _foldrPS, _headPS, _indexPS, _lengthPS, _linesPS, _mapPS, _nilPS, _nullPS, _packCBytes, _packCString, _packString, _psToByteArray, _putPS, _reversePS, _spanPS, _splitAtPS, _substrPS, _tailPS, _takePS, _takeWhilePS, _unpackPS, _wordsPS)
+import PreludeRatio((%), Ratio(..), approxRational, denominator, numerator)
+import PreludeText(_readRational, _showDigit, _showHex, _showRadix, lex, read, readDec, readFloat, readLitChar, readParen, readSigned, reads, show, showChar, showFloat, showInt, showLitChar, showParen, showSigned, showSpace__, showString, shows)
+import Stdio(_FILE)
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+abort :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 2 _U_ 00 _N_ _S_ "A" {_A_ 1 _U_ 0 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: IOError) -> _ORIG_ PreludeIO done _N_ #-}
+appendBinChan :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendChan :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+binDispatch :: (IOError -> [Response] -> a) -> (Bin -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+deleteFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+done :: [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_ #-}
+echo :: Bool -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+exit :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+getArgs :: (IOError -> [Response] -> [Request]) -> ([[Char]] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+getEnv :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+getProgName :: (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+interact :: ([Char] -> [Char]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+prints :: Text a => a -> [Char] -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1221 _N_ _N_ _N_ _N_ #-}
+readBinChan :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readBinFile :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+setEnv :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+sigAction :: Int -> SigAct -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+statusChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+statusFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+stdecho :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stderr :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+strDispatch :: (IOError -> [Response] -> a) -> ([Char] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+strListDispatch :: (IOError -> [Response] -> a) -> ([[Char]] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+succDispatch :: (IOError -> [Response] -> a) -> ([Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+writeBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+writeFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 222 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/Prelude_t.hi b/ghc/lib/prelude/Prelude_t.hi
new file mode 100644
index 0000000000..fbce1ccdea
--- /dev/null
+++ b/ghc/lib/prelude/Prelude_t.hi
@@ -0,0 +1,463 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Prelude where
+import PreludeArray((!), (//), Array, Assoc, _ByteArray, accum, accumArray, amap, array, assocs, bounds, elems, indices, ixmap, listArray)
+import PreludeBuiltin(Bin, Char(..), Int(..), Integer(..), List(..), Tuple0, Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7, _Addr(..), _RealWorld(..), _State(..))
+import PreludeComplex(Complex, cis, conjugate, imagPart, magnitude, mkPolar, phase, polar, realPart)
+import PreludeCore(Bool(..), Eq(..), Fractional(..), Integral(..), Ix(..), Num(..), Ord(..), Real(..), RealFloat(..), RealFrac(..), Text(..), _ceiling, _floor, _readList, _round, _showList, _showRational, _truncate)
+import PreludeIO(IOError, Request, Response, SigAct, abort, appendBinChan, appendBinFile, appendChan, appendFile, binDispatch, deleteFile, done, echo, exit, getArgs, getEnv, getProgName, interact, print, prints, readBinChan, readBinFile, readChan, readFile, setEnv, sigAction, statusChan, statusFile, stdecho, stderr, stdin, stdout, strDispatch, strListDispatch, succDispatch, writeBinFile, writeFile)
+import PreludeList((!!), (++), (\\), all, and, any, break, concat, cycle, drop, dropWhile, elem, filter, foldl1, foldr1, genericLength, head, init, iterate, last, length, lines, map, maximum, minimum, notElem, nub, null, or, partition, product, products, repeat, reverse, scanl, scanl1, scanr, scanr1, span, splitAt, sum, sums, tail, take, takeWhile, transpose, unlines, unwords, unzip, unzip3, unzip4, unzip5, unzip6, unzip7, words, zip, zip3, zip4, zip5, zip6, zip7, zipWith, zipWith3, zipWith4, zipWith5, zipWith6, zipWith7)
+import PreludePS(_PackedString, _appendPS, _breakPS, _byteArrayToPS, _concatPS, _consPS, _dropPS, _dropWhilePS, _filterPS, _foldlPS, _foldrPS, _headPS, _indexPS, _lengthPS, _linesPS, _mapPS, _nilPS, _nullPS, _packCBytes, _packCString, _packString, _psToByteArray, _putPS, _reversePS, _spanPS, _splitAtPS, _substrPS, _tailPS, _takePS, _takeWhilePS, _unpackPS, _wordsPS)
+import PreludeRatio((%), Ratio(..), approxRational, denominator, numerator)
+import PreludeText(_readRational, _showDigit, _showHex, _showRadix, lex, read, readDec, readFloat, readLitChar, readParen, readSigned, reads, show, showChar, showFloat, showInt, showLitChar, showParen, showSigned, showSpace__, showString, shows)
+import Stdio(_FILE)
+($) :: (a -> b) -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _F_ _IF_ARGS_ 2 2 XX 2 _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: u0) -> _APP_ u2 [ u3 ] _N_ #-}
+(&&) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> u1; False -> _!_ False [] []; _NO_DEFLT_ } _N_ #-}
+(.) :: (a -> c) -> (b -> a) -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "SLL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u2) (u4 :: u1 -> u0) (u5 :: u1) -> let {(u6 :: u0) = _APP_ u4 [ u5 ]} in _APP_ u3 [ u6 ] _N_ #-}
+(^) :: (Num b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(U(LU(U(U(SA)AALAAAA)AAAA)A)AAALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Int ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, Integer ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Complex Double) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(^^) :: (Fractional b, Integral a) => b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 2122 _N_ _S_ "LU(LU(U(AAASAAAA)AAA)AALAAAALAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, Double ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int, (Ratio Integer) ] 2 { _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+appendBin :: Bin -> Bin -> Bin
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 2 XX 4 \ (u0 :: Bin) (u1 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bin -> Bin) } [ _NOREP_S_ "appendBin{Prelude}\n", u0, u1 ] _N_ #-}
+asTypeOf :: a -> a -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _TYAPP_ _TYAPP_ _ORIG_ Prelude const { u0 } { u0 } _N_ #-}
+atan2 :: RealFloat a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 2212222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+chr :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ chr# [] [u0] of { _PRIM_ (u1 :: Char#) -> _!_ C# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ chr# [] [u1] of { _PRIM_ (u2 :: Char#) -> _!_ C# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+const :: b -> a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 10 _N_ _S_ "SA" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u0) -> u2 _N_ #-}
+flip :: (b -> a -> c) -> a -> b -> c
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "SLL" _F_ _IF_ARGS_ 3 3 XXX 3 _/\_ u0 u1 u2 -> \ (u3 :: u1 -> u0 -> u2) (u4 :: u0) (u5 :: u1) -> _APP_ u3 [ u5, u4 ] _N_ #-}
+fromIntegral :: (Integral a, Num b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAAAAAASA)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 6 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: Integer -> u1) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in _APP_ u3 [ uh ] _N_} _F_ _IF_ARGS_ 2 3 CCX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: {{Num u1}}) (u4 :: u0) -> let {(uh :: Integer) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ uf [ u4 ]; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_10 (ui :: {{Eq u1}}) (uj :: {{Text u1}}) (uk :: u1 -> u1 -> u1) (ul :: u1 -> u1 -> u1) (um :: u1 -> u1 -> u1) (un :: u1 -> u1) (uo :: u1 -> u1) (up :: u1 -> u1) (uq :: Integer -> u1) (ur :: Int -> u1) -> _APP_ uq [ uh ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Int#) -> case _#_ int2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> case _#_ int2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Int, Int ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Int } _N_ }, [ Int, Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> _#_ int2Integer# [] [u0] _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Int) -> case u0 of { _ALG_ I# (u1 :: Int#) -> _#_ int2Integer# [] [u1]; _NO_DEFLT_ } _N_ }, [ Integer, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ encodeDouble# [] [u0, u1, u2, 0#] of { _PRIM_ (u3 :: Double#) -> _!_ D# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ encodeDouble# [] [u1, u2, u3, 0#] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Int ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _F_ _IF_ARGS_ 0 3 XXX 3 \ (u0 :: Int#) (u1 :: Int#) (u2 :: ByteArray#) -> case _#_ integer2Int# [] [u0, u1, u2] of { _PRIM_ (u3 :: Int#) -> _!_ I# [] [u3] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Integer) -> case u0 of { _ALG_ J# (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ } _N_ }, [ Integer, Integer ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Integer } _N_ } #-}
+fromRealFrac :: (RealFrac a, Fractional b) => a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "LU(AAAS)L" {_A_ 3 _U_ 112 _N_ _N_ _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: Ratio Integer -> u1) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u3 [ uf ] _N_} _F_ _IF_ARGS_ 2 3 CCX 8 _/\_ u0 u1 -> \ (u2 :: {{RealFrac u0}}) (u3 :: {{Fractional u1}}) (u4 :: u0) -> let {(uf :: Ratio Integer) = case u2 of { _ALG_ _TUP_7 (u5 :: {{Real u0}}) (u6 :: {{Fractional u0}}) (u7 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> (a$z1, u0)) (u8 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (u9 :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ua :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) (ub :: _forall_ a$z1 =>{{Integral a$z1}} -> u0 -> a$z1) -> case u5 of { _ALG_ _TUP_3 (uc :: {{Num u0}}) (ud :: {{Enum u0}}) (ue :: u0 -> Ratio Integer) -> _APP_ ue [ u4 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_4 (ug :: {{Num u1}}) (uh :: u1 -> u1 -> u1) (ui :: u1 -> u1) (uj :: Ratio Integer -> u1) -> _APP_ uj [ uf ]; _NO_DEFLT_ } _SPECIALISE_ [ Double, Double ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Double } _N_ }, [ Double, Float ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Double#) -> case _#_ double2Float# [] [u0] of { _PRIM_ (u1 :: Float#) -> _!_ F# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Double) -> case u0 of { _ALG_ D# (u1 :: Double#) -> case _#_ double2Float# [] [u1] of { _PRIM_ (u2 :: Float#) -> _!_ F# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Double ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Float#) -> case _#_ float2Double# [] [u0] of { _PRIM_ (u1 :: Double#) -> _!_ D# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Float) -> case u0 of { _ALG_ F# (u1 :: Float#) -> case _#_ float2Double# [] [u1] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] }; _NO_DEFLT_ } _N_ }, [ Float, Float ] 2 { _A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ Prelude id { Float } _N_ } #-}
+fst :: (b, a) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u1, u0)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u1) (u4 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+gcd :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAAAALAAL)AA)AALAAAAAAAA)" {_A_ 4 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)U(PPP)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+id :: a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_ #-}
+isAlpha :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAlphanum :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isAscii :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 2 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _#_ ltInt# [] [u1, 128#] } _N_} _F_ _IF_ARGS_ 0 1 C 3 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _#_ ltInt# [] [u2, 128#] }; _NO_DEFLT_ } _N_ #-}
+isControl :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isDigit :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isLower :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isNullBin :: Bin -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ _!_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Bin) -> _APP_ _TYAPP_ error { (Bin -> Bool) } [ _NOREP_S_ "isNullBin{Prelude}\n", u0 ] _N_ #-}
+isPrint :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isSpace :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+isUpper :: Char -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lcm :: Integral a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALAAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+maxChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o377'#] _N_ #-}
+maxInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [2147483647#] _N_ #-}
+minChar :: Char
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ C# [] ['\o0'#] _N_ #-}
+minInt :: Int
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [-2147483647#] _N_ #-}
+not :: Bool -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "E" _F_ _ALWAYS_ \ (u0 :: Bool) -> case u0 of { _ALG_ True -> _!_ False [] []; False -> _!_ True [] []; _NO_DEFLT_ } _N_ #-}
+nullBin :: Bin
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _S_ _!_ _F_ _IF_ARGS_ 0 0 X 2 _APP_ _TYAPP_ error { Bin } [ _NOREP_S_ "nullBin{Prelude}\n" ] _N_ #-}
+ord :: Char -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 3 \ (u0 :: Char#) -> case _#_ ord# [] [u0] of { _PRIM_ (u1 :: Int#) -> _!_ I# [] [u1] } _N_} _F_ _IF_ARGS_ 0 1 C 4 \ (u0 :: Char) -> case u0 of { _ALG_ C# (u1 :: Char#) -> case _#_ ord# [] [u1] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] }; _NO_DEFLT_ } _N_ #-}
+otherwise :: Bool
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _ALWAYS_ _!_ True [] [] _N_ #-}
+snd :: (a, b) -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: (u0, u1)) -> case u2 of { _ALG_ _TUP_2 (u3 :: u0) (u4 :: u1) -> u4; _NO_DEFLT_ } _N_ #-}
+subtract :: Num a => a -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(AAASAAAAAA)LL" {_A_ 3 _U_ 122 _N_ _N_ _F_ _IF_ARGS_ 1 3 XXX 3 _/\_ u0 -> \ (u1 :: u0 -> u0 -> u0) (u2 :: u0) (u3 :: u0) -> _APP_ u1 [ u3, u2 ] _N_} _F_ _IF_ARGS_ 1 3 CXX 4 _/\_ u0 -> \ (u1 :: {{Num u0}}) (u2 :: u0) (u3 :: u0) -> case u1 of { _ALG_ _TUP_10 (u4 :: {{Eq u0}}) (u5 :: {{Text u0}}) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0) (ua :: u0 -> u0) (ub :: u0 -> u0) (uc :: Integer -> u0) (ud :: Int -> u0) -> _APP_ u7 [ u3, u2 ]; _NO_DEFLT_ } _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Double#) (u1 :: Double#) -> case _#_ minusDouble# [] [u1, u0] of { _PRIM_ (u2 :: Double#) -> _!_ D# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Double) (u1 :: Double) -> case u1 of { _ALG_ D# (u2 :: Double#) -> case u0 of { _ALG_ D# (u3 :: Double#) -> case _#_ minusDouble# [] [u2, u3] of { _PRIM_ (u4 :: Double#) -> _!_ D# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ }, [ Int ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Int#) (u1 :: Int#) -> case _#_ minusInt# [] [u1, u0] of { _PRIM_ (u2 :: Int#) -> _!_ I# [] [u2] } _N_} _F_ _IF_ARGS_ 0 2 CC 5 \ (u0 :: Int) (u1 :: Int) -> case u1 of { _ALG_ I# (u2 :: Int#) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case _#_ minusInt# [] [u2, u3] of { _PRIM_ (u4 :: Int#) -> _!_ I# [] [u4] }; _NO_DEFLT_ }; _NO_DEFLT_ } _N_ } #-}
+toLower :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+toUpper :: Char -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+until :: (a -> Bool) -> (a -> a) -> a -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SLL" _N_ _N_ #-}
+(||) :: Bool -> Bool -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "EL" _F_ _ALWAYS_ \ (u0 :: Bool) (u1 :: Bool) -> case u0 of { _ALG_ True -> _!_ True [] []; False -> u1; _NO_DEFLT_ } _N_ #-}
+(!) :: Ix a => Array a b -> a -> b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(AASA)U(LP)L" {_A_ 4 _U_ 1222 _N_ _N_ _F_ _IF_ARGS_ 2 4 XXXX 7 _/\_ u0 u1 -> \ (u2 :: (u0, u0) -> u0 -> Int) (u3 :: (u0, u0)) (u4 :: Array# u1) (u5 :: u0) -> case _APP_ u2 [ u3, u5 ] of { _ALG_ I# (u6 :: Int#) -> case _#_ indexArray# [u1] [u4, u6] of { _ALG_ _Lift (u7 :: u1) -> u7; _NO_DEFLT_ }; _NO_DEFLT_ } _N_} _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: Array u0 u1) (u4 :: u0) -> case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> case u3 of { _ALG_ _Array (u9 :: (u0, u0)) (ua :: Array# u1) -> case _APP_ u7 [ u9, u4 ] of { _ALG_ I# (ub :: Int#) -> case _#_ indexArray# [u1] [ua, ub] of { _ALG_ _Lift (uc :: u1) -> uc; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(U(P)U(P))P)U(P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(SS)P)U(U(P)U(P))" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(//) :: Ix a => Array a b -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(U(P)U(P))P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(SS)P)S" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+accum :: Ix b => (c -> a -> c) -> Array b c -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 1222 _N_ _S_ "U(ASLA)" {_A_ 2 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 3 _U_ 222 _N_ _N_ _N_ _N_ } #-}
+accumArray :: Ix b => (c -> a -> c) -> c -> (b, b) -> [Assoc b a] -> Array b c
+ {-# GHC_PRAGMA _A_ 5 _U_ 22222 _N_ _S_ "U(ASLA)LLLL" _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 4 _U_ 2222 _N_ _N_ _N_ _N_ } #-}
+amap :: Ix b => (a -> c) -> Array b a -> Array b c
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ _N_, Int, _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(U(P)U(P))P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int), _N_ ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LU(U(SS)P)" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+array :: Ix a => (a, a) -> [Assoc a b] -> Array a b
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(ASLA)U(LL)S" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(U(P)U(P))S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(SS)S" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+assocs :: Ix a => Array a b -> [Assoc a b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+bounds :: Array b a -> (b, b)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(LL)P)" {_A_ 3 _U_ 220 _N_ _N_ _F_ _IF_ARGS_ 2 3 XXX 3 _/\_ u0 u1 -> \ (u2 :: u1) (u3 :: u1) (u4 :: Array# u0) -> _!_ _TUP_2 [u1, u1] [u2, u3] _N_} _F_ _IF_ARGS_ 2 1 C 2 _/\_ u0 u1 -> \ (u2 :: Array u1 u0) -> case u2 of { _ALG_ _Array (u3 :: (u1, u1)) (u4 :: Array# u0) -> u3; _NO_DEFLT_ } _N_ #-}
+elems :: Ix a => Array a b -> [b]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASLA)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+indices :: Ix b => Array b a -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(ASAA)L" {_A_ 2 _U_ 11 _N_ _N_ _F_ _IF_ARGS_ 2 2 XC 5 _/\_ u0 u1 -> \ (u2 :: (u1, u1) -> [u1]) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in _APP_ u2 [ u6 ] _N_} _F_ _IF_ARGS_ 2 2 CC 6 _/\_ u0 u1 -> \ (u2 :: {{Ix u1}}) (u3 :: Array u1 u0) -> let {(u6 :: (u1, u1)) = case u3 of { _ALG_ _Array (u4 :: (u1, u1)) (u5 :: Array# u0) -> u4; _NO_DEFLT_ }} in case u2 of { _ALG_ _TUP_4 (u7 :: {{Ord u1}}) (u8 :: (u1, u1) -> [u1]) (u9 :: (u1, u1) -> u1 -> Int) (ua :: (u1, u1) -> u1 -> Bool) -> _APP_ u8 [ u6 ]; _NO_DEFLT_ } _SPECIALISE_ [ _N_, Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ }, [ _N_, (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(SS)P)" {_A_ 3 _U_ 220 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+ixmap :: (Ix b, Ix a) => (b, b) -> (b -> a) -> Array a c -> Array b c
+ {-# GHC_PRAGMA _A_ 2 _U_ 12222 _N_ _S_ "U(ASLA)L" {_A_ 6 _U_ 222222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+listArray :: Ix a => (a, a) -> [b] -> Array a b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASLA)" {_A_ 4 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(U(P)U(P))L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(SS)L" {_A_ 3 _U_ 221 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+cis :: RealFloat a => a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+conjugate :: RealFloat a => Complex a -> Complex a
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LU(LL)" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+imagPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+magnitude :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ALAAAAALAS)" {_A_ 3 _U_ 2221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+mkPolar :: RealFloat a => a -> a -> Complex a
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+phase :: RealFloat a => Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(U(U(AU(U(ALAASAAA)AAAA)A)AAAAAA)U(U(SLAA)LAAAAAAAAAALAAAAAA)AAAAAAAA)" {_A_ 5 _U_ 222221 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(U(P)U(P))" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+polar :: RealFloat a => Complex a -> (a, a)
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+realPart :: Complex a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Complex u0) -> case u1 of { _ALG_ (:+) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_ceiling :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(AAAASAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_floor :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ASAAAAAA)AAAA)A)LSAAAA)L" {_A_ 4 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+_readList :: Text a => [Char] -> [([a], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_round :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(U(AU(U(ALAAAAAS)AAAA)A)LSAAAA)L" {_A_ 5 _U_ 112122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ (Ratio Integer), Integer ] 2 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+_showList :: Text a => [a] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 212 _N_ _N_ _N_ _N_ #-}
+_showRational :: Int -> Ratio Integer -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(U(PPP)L)" {_A_ 5 _U_ 22222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_truncate :: (RealFrac a, Integral b) => a -> b
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "U(AASAAAA)L" {_A_ 2 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double, Int ] 2 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+abort :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 2 _U_ 00 _N_ _S_ "A" {_A_ 1 _U_ 0 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: IOError) -> _ORIG_ PreludeIO done _N_ #-}
+appendBinChan :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendChan :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+appendFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+binDispatch :: (IOError -> [Response] -> a) -> (Bin -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+deleteFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+done :: [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 0 _N_ _S_ "A" {_A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _NIL_ [Request] [] _N_} _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: [Response]) -> _!_ _NIL_ [Request] [] _N_ #-}
+echo :: Bool -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+exit :: IOError -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+getArgs :: (IOError -> [Response] -> [Request]) -> ([[Char]] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+getEnv :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+getProgName :: (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _N_ _N_ _N_ #-}
+interact :: ([Char] -> [Char]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+print :: Text a => a -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 121 _N_ _N_ _N_ _N_ #-}
+prints :: Text a => a -> [Char] -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1221 _N_ _N_ _N_ _N_ #-}
+readBinChan :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readBinFile :: [Char] -> (IOError -> [Response] -> [Request]) -> (Bin -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+readFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+setEnv :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+sigAction :: Int -> SigAct -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+statusChan :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+statusFile :: [Char] -> (IOError -> [Response] -> [Request]) -> ([Char] -> [Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _N_ _N_ _N_ #-}
+stdecho :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stderr :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdin :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+stdout :: [Char]
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _N_ _N_ #-}
+strDispatch :: (IOError -> [Response] -> a) -> ([Char] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+strListDispatch :: (IOError -> [Response] -> a) -> ([[Char]] -> [Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+succDispatch :: (IOError -> [Response] -> a) -> ([Response] -> a) -> [Response] -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LLS" _N_ _N_ #-}
+writeBinFile :: [Char] -> Bin -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+writeFile :: [Char] -> [Char] -> (IOError -> [Response] -> [Request]) -> ([Response] -> [Request]) -> [Response] -> [Request]
+ {-# GHC_PRAGMA _A_ 5 _U_ 22111 _N_ _N_ _N_ _N_ #-}
+(!!) :: Integral a => [b] -> a -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(ASAAAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11112 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "SU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+(++) :: [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "SL" _N_ _N_ #-}
+(\\) :: Eq a => [a] -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "LLS" _N_ _N_ #-}
+all :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ True [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> u5; False -> _!_ False [] []; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+and :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ True [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (&&), u1, u0 ] _N_ #-}
+any :: (a -> Bool) -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u3 :: Bool) = _!_ False [] []} in let {(u6 :: u0 -> Bool -> Bool) = \ (u4 :: u0) (u5 :: Bool) -> case _APP_ u1 [ u4 ] of { _ALG_ True -> _!_ True [] []; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u6, u3, u2 ] _N_ #-}
+break :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+concat :: [[a]] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [[u0]]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: [u0] -> u2 -> u2) = \ (u5 :: [u0]) (u6 :: u2) -> _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [u0] } { u2 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+cycle :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u2 } [ u3, u5, u1 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+drop :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LS" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)S" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)S" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList drop [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+dropWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+elem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u4; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ eqChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ eqInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList any { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (==) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList any { [Char] } [ u3, u1 ] _N_ } #-}
+filter :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u7; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+foldl1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+foldr1 :: (a -> a -> a) -> [a] -> a
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+genericLength :: Num b => [a] -> b
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+head :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: u0) = _APP_ _TYAPP_ error { u0 } [ _NOREP_S_ "head{PreludeList}: head []\n" ]} in let {(u5 :: u0 -> u0 -> u0) = \ (u3 :: u0) (u4 :: u0) -> u3} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u0 } [ u5, u2, u1 ] _N_ #-}
+init :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+iterate :: (a -> a) -> a -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> u0) (u2 :: u0) -> let {(ub :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> _LETREC_ {(u6 :: (u0 -> u0) -> u0 -> u3) = \ (u7 :: u0 -> u0) (u8 :: u0) -> let {(ua :: u3) = let {(u9 :: u0) = _APP_ u7 [ u8 ]} in _APP_ u6 [ u7, u9 ]} in _APP_ u4 [ u8, ua ]} in _APP_ u6 [ u1, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ ub ] _N_ #-}
+last :: [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+length :: [a] -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+lines :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+map :: (a -> b) -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: u0 -> u1) (u3 :: [u0]) -> let {(ua :: _forall_ a$z1 =>(u1 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u4 -> \ (u5 :: u1 -> u4 -> u4) (u6 :: u4) -> let {(u9 :: u0 -> u4 -> u4) = \ (u7 :: u0) -> let {(u8 :: u1) = _APP_ u2 [ u7 ]} in _APP_ u5 [ u8 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u4 } [ u9, u6, u3 ]} in _APP_ _TYAPP_ _build { u1 } [ ua ] _N_ #-}
+maximum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+minimum :: Ord a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 11 _N_ _N_ _N_ _N_ #-}
+notElem :: Eq a => a -> [a] -> Bool
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "LLS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Eq u0}}) (u2 :: u0) (u3 :: [u0]) -> let {(u6 :: u0 -> u0 -> Bool) = case u1 of { _ALG_ _TUP_2 (u4 :: u0 -> u0 -> Bool) (u5 :: u0 -> u0 -> Bool) -> u5; _NO_DEFLT_ }} in let {(u8 :: u0 -> Bool) = \ (u7 :: u0) -> _APP_ u6 [ u2, u7 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { u0 } [ u8, u3 ] _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Char) (u1 :: [Char]) -> let {(u5 :: Char -> Bool) = \ (u2 :: Char) -> case u0 of { _ALG_ C# (u3 :: Char#) -> case u2 of { _ALG_ C# (u4 :: Char#) -> _#_ neChar# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Char } [ u5, u1 ] _N_ }, [ Int ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: [Int]) -> let {(u5 :: Int -> Bool) = \ (u2 :: Int) -> case u0 of { _ALG_ I# (u3 :: Int#) -> case u2 of { _ALG_ I# (u4 :: Int#) -> _#_ neInt# [] [u3, u4]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _ORIG_ PreludeList all { Int } [ u5, u1 ] _N_ }, [ [Char] ] 1 { _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ \ (u0 :: [Char]) (u1 :: [[Char]]) -> let {(u3 :: [Char] -> Bool) = \ (u2 :: [Char]) -> _APP_ _CONSTM_ Eq (/=) ([Char]) [ u0, u2 ]} in _APP_ _TYAPP_ _ORIG_ PreludeList all { [Char] } [ u3, u1 ] _N_ } #-}
+nub :: Eq a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "LS" _N_ _N_ #-}
+null :: [a] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u2 :: Bool) = _!_ True [] []} in let {(u5 :: u0 -> Bool -> Bool) = \ (u3 :: u0) (u4 :: Bool) -> _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { Bool } [ u5, u2, u1 ] _N_ #-}
+or :: [Bool] -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Bool]) -> let {(u1 :: Bool) = _!_ False [] []} in _APP_ _TYAPP_ _TYAPP_ foldr { Bool } { Bool } [ _ORIG_ Prelude (||), u1, u0 ] _N_ #-}
+partition :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: u0 -> ([u0], [u0]) -> ([u0], [u0])) = \ (u3 :: u0) (u4 :: ([u0], [u0])) -> case u4 of { _ALG_ _TUP_2 (u5 :: [u0]) (u6 :: [u0]) -> case _APP_ u1 [ u3 ] of { _ALG_ True -> let {(u7 :: [u0]) = _!_ (:) [u0] [u3, u5]} in _!_ _TUP_2 [[u0], [u0]] [u7, u6]; False -> let {(u8 :: [u0]) = _!_ (:) [u0] [u3, u6]} in _!_ _TUP_2 [[u0], [u0]] [u5, u8]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(ua :: [u0]) = _!_ _NIL_ [u0] []} in let {(ub :: ([u0], [u0])) = _!_ _TUP_2 [[u0], [u0]] [ua, ua]} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { ([u0], [u0]) } [ u9, ub, u2 ] _N_ #-}
+product :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u6; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [1#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [1.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (*) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (*) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [1#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (*) (Integer), u1, u0 ] _N_ } #-}
+products :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+repeat :: a -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0) -> let {(u6 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> _LETREC_ {(u5 :: u2) = _APP_ u3 [ u1, u5 ]} in u5} in _APP_ _TYAPP_ _build { u0 } [ u6 ] _N_ #-}
+reverse :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: [u0]) -> let {(u8 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u2 -> \ (u3 :: u0 -> u2 -> u2) (u4 :: u2) -> let {(u7 :: u2 -> u0 -> u2) = \ (u5 :: u2) (u6 :: u0) -> _APP_ u3 [ u6, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldl { u2 } { u0 } [ u7, u4, u1 ]} in _APP_ _TYAPP_ _build { u0 } [ u8 ] _N_ #-}
+scanl :: (b -> a -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _N_ _N_ _N_ #-}
+scanl1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+scanr :: (a -> b -> b) -> b -> [a] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+scanr1 :: (a -> a -> a) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+span :: (a -> Bool) -> [a] -> ([a], [a])
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+splitAt :: Integral a => a -> [b] -> ([b], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(LU(U(AAASAAAA)AAA)AAAAAAAAAS)" {_A_ 3 _U_ 11122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+sum :: Num a => [a] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: {{Num u0}}) -> let {(uc :: u0 -> u0 -> u0) = case u1 of { _ALG_ _TUP_10 (u2 :: {{Eq u0}}) (u3 :: {{Text u0}}) (u4 :: u0 -> u0 -> u0) (u5 :: u0 -> u0 -> u0) (u6 :: u0 -> u0 -> u0) (u7 :: u0 -> u0) (u8 :: u0 -> u0) (u9 :: u0 -> u0) (ua :: Integer -> u0) (ub :: Int -> u0) -> u4; _NO_DEFLT_ }} in let {(uo :: u0) = let {(ud :: Int) = _!_ I# [] [0#]} in case u1 of { _ALG_ _TUP_10 (ue :: {{Eq u0}}) (uf :: {{Text u0}}) (ug :: u0 -> u0 -> u0) (uh :: u0 -> u0 -> u0) (ui :: u0 -> u0 -> u0) (uj :: u0 -> u0) (uk :: u0 -> u0) (ul :: u0 -> u0) (um :: Integer -> u0) (un :: Int -> u0) -> _APP_ un [ ud ]; _NO_DEFLT_ }} in \ (up :: [u0]) -> _APP_ _TYAPP_ _TYAPP_ foldl { u0 } { u0 } [ uc, uo, up ] _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Double]) -> let {(u1 :: Double) = _!_ D# [] [0.0000000000000000##]} in _APP_ _TYAPP_ _TYAPP_ foldl { Double } { Double } [ _CONSTM_ Num (+) (Double), u1, u0 ] _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Int]) -> let {(u1 :: Int) = _!_ I# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Int } { Int } [ _CONSTM_ Num (+) (Int), u1, u0 ] _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [Integer]) -> let {(u1 :: Integer) = _#_ int2Integer# [] [0#]} in _APP_ _TYAPP_ _TYAPP_ foldl { Integer } { Integer } [ _CONSTM_ Num (+) (Integer), u1, u0 ] _N_ }, [ (Complex Double) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ let {(u6 :: Complex Double -> Complex Double -> Complex Double) = \ (u0 :: Complex Double) (u1 :: Complex Double) -> case u0 of { _ALG_ (:+) (u2 :: Double) (u3 :: Double) -> case u1 of { _ALG_ (:+) (u4 :: Double) (u5 :: Double) -> _APP_ _WRKR_ _CONSTM_ Num (+) (Complex Double) [ u2, u3, u4, u5 ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in let {(u8 :: Complex Double) = let {(u7 :: Int) = _!_ I# [] [0#]} in _APP_ _CONSTM_ Num fromInt (Complex Double) [ u7 ]} in \ (u9 :: [Complex Double]) -> _APP_ _TYAPP_ _TYAPP_ foldl { (Complex Double) } { (Complex Double) } [ u6, u8, u9 ] _N_ } #-}
+sums :: Num a => [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 21 _N_ _N_ _N_ _N_ #-}
+tail :: [a] -> [a]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 1 1 C 5 _/\_ u0 -> \ (u1 :: [u0]) -> case u1 of { _ALG_ (:) (u2 :: u0) (u3 :: [u0]) -> u3; _NIL_ -> _APP_ _TYAPP_ error { [u0] } [ _NOREP_S_ "tail{PreludeList}: tail []\n" ]; _NO_DEFLT_ } _N_ #-}
+take :: Integral a => a -> [b] -> [b]
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(AAAAAAAAAAAS)LL" {_A_ 3 _U_ 121 _N_ _N_ _N_ _N_} _F_ _IF_ARGS_ 2 3 CXX 7 _/\_ u0 u1 -> \ (u2 :: {{Integral u0}}) (u3 :: u0) (u4 :: [u1]) -> let {(uh :: Int) = case u2 of { _ALG_ _TUP_12 (u5 :: {{Real u0}}) (u6 :: {{Ix u0}}) (u7 :: u0 -> u0 -> u0) (u8 :: u0 -> u0 -> u0) (u9 :: u0 -> u0 -> u0) (ua :: u0 -> u0 -> u0) (ub :: u0 -> u0 -> (u0, u0)) (uc :: u0 -> u0 -> (u0, u0)) (ud :: u0 -> Bool) (ue :: u0 -> Bool) (uf :: u0 -> Integer) (ug :: u0 -> Int) -> _APP_ ug [ u3 ]; _NO_DEFLT_ }} in _APP_ _TYAPP_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u1 } [ uh, u4 ] _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)L" {_A_ 2 _U_ 21 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer, _N_ ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2221 _N_ _N_ _F_ _IF_ARGS_ 1 4 XXXX 4 _/\_ u0 -> \ (u1 :: Int#) (u2 :: Int#) (u3 :: ByteArray#) (u4 :: [u0]) -> case _#_ integer2Int# [] [u1, u2, u3] of { _PRIM_ (u5 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u5, u4 ] } _N_} _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: Integer) (u2 :: [u0]) -> case u1 of { _ALG_ J# (u3 :: Int#) (u4 :: Int#) (u5 :: ByteArray#) -> case _#_ integer2Int# [] [u3, u4, u5] of { _PRIM_ (u6 :: Int#) -> _APP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeList take [ (Int), _N_ ] { u0 } [ u6, u2 ] }; _NO_DEFLT_ } _N_ } #-}
+takeWhile :: (a -> Bool) -> [a] -> [a]
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: u0 -> Bool) (u2 :: [u0]) -> let {(u9 :: _forall_ a$z1 =>(u0 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u3 -> \ (u4 :: u0 -> u3 -> u3) (u5 :: u3) -> let {(u8 :: u0 -> u3 -> u3) = \ (u6 :: u0) (u7 :: u3) -> case _APP_ u1 [ u6 ] of { _ALG_ True -> _APP_ u4 [ u6, u7 ]; False -> u5; _NO_DEFLT_ }} in _APP_ _TYAPP_ _TYAPP_ foldr { u0 } { u3 } [ u8, u5, u2 ]} in _APP_ _TYAPP_ _build { u0 } [ u9 ] _N_ #-}
+transpose :: [[a]] -> [[a]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unlines :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _ALWAYS_ \ (u0 :: [[Char]]) -> let {(u1 :: [Char]) = _!_ _NIL_ [Char] []} in let {(u6 :: [Char] -> [Char] -> [Char]) = \ (u2 :: [Char]) (u3 :: [Char]) -> let {(u4 :: Char) = _!_ C# [] ['\o12'#]} in let {(u5 :: [Char]) = _!_ (:) [Char] [u4, u3]} in _APP_ _TYAPP_ _ORIG_ PreludeList (++) { Char } [ u2, u5 ]} in _APP_ _TYAPP_ _TYAPP_ foldr { [Char] } { [Char] } [ u6, u1, u0 ] _N_ #-}
+unwords :: [[Char]] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip :: [(a, b)] -> ([a], [b])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip3 :: [(a, b, c)] -> ([a], [b], [c])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip4 :: [(a, b, c, d)] -> ([a], [b], [c], [d])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip5 :: [(a, b, c, d, e)] -> ([a], [b], [c], [d], [e])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip6 :: [(a, b, c, d, e, f)] -> ([a], [b], [c], [d], [e], [f])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+unzip7 :: [(a, b, c, d, e, f, g)] -> ([a], [b], [c], [d], [e], [f], [g])
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+words :: [Char] -> [[Char]]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+zip :: [a] -> [b] -> [(a, b)]
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SL" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: [u0]) (u3 :: [u1]) -> let {(u6 :: u0 -> u1 -> (u0, u1)) = \ (u4 :: u0) (u5 :: u1) -> _!_ _TUP_2 [u0, u1] [u4, u5]} in _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _ORIG_ PreludeList zipWith { u0 } { u1 } { (u0, u1) } [ u6, u2, u3 ] _N_ #-}
+zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "SLL" _N_ _N_ #-}
+zip4 :: [a] -> [b] -> [c] -> [d] -> [(a, b, c, d)]
+ {-# GHC_PRAGMA _A_ 4 _U_ 1111 _N_ _S_ "SLLL" _N_ _N_ #-}
+zip5 :: [a] -> [b] -> [c] -> [d] -> [e] -> [(a, b, c, d, e)]
+ {-# GHC_PRAGMA _A_ 5 _U_ 11111 _N_ _S_ "SLLLL" _N_ _N_ #-}
+zip6 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [(a, b, c, d, e, f)]
+ {-# GHC_PRAGMA _A_ 6 _U_ 111111 _N_ _S_ "SLLLLL" _N_ _N_ #-}
+zip7 :: [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [(a, b, c, d, e, f, g)]
+ {-# GHC_PRAGMA _A_ 7 _U_ 1111111 _N_ _S_ "SLLLLLL" _N_ _N_ #-}
+zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "LSL" _F_ _ALWAYS_ _/\_ u0 u1 u2 -> \ (u3 :: u0 -> u1 -> u2) (u4 :: [u0]) (u5 :: [u1]) -> let {(ui :: _forall_ a$z1 =>(u2 -> a$z1 -> a$z1) -> a$z1 -> a$z1) = _/\_ u6 -> \ (u7 :: u2 -> u6 -> u6) (u8 :: u6) -> _LETREC_ {(u9 :: [u0] -> [u1] -> u6) = \ (ua :: [u0]) (ub :: [u1]) -> case ua of { _ALG_ _NIL_ -> u8; (:) (uc :: u0) (ud :: [u0]) -> case ub of { _ALG_ _NIL_ -> u8; (:) (ue :: u1) (uf :: [u1]) -> let {(ug :: u6) = _APP_ u9 [ ud, uf ]} in let {(uh :: u2) = _APP_ u3 [ uc, ue ]} in _APP_ u7 [ uh, ug ]; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ u9 [ u4, u5 ]} in _APP_ _TYAPP_ _build { u2 } [ ui ] _N_ #-}
+zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ {-# GHC_PRAGMA _A_ 4 _U_ 2111 _N_ _S_ "LSLL" _N_ _N_ #-}
+zipWith4 :: (a -> b -> c -> d -> e) -> [a] -> [b] -> [c] -> [d] -> [e]
+ {-# GHC_PRAGMA _A_ 5 _U_ 21111 _N_ _S_ "LSLLL" _N_ _N_ #-}
+zipWith5 :: (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
+ {-# GHC_PRAGMA _A_ 6 _U_ 211111 _N_ _S_ "LSLLLL" _N_ _N_ #-}
+zipWith6 :: (a -> b -> c -> d -> e -> f -> g) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g]
+ {-# GHC_PRAGMA _A_ 7 _U_ 2111111 _N_ _S_ "LSLLLLL" _N_ _N_ #-}
+zipWith7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f] -> [g] -> [h]
+ {-# GHC_PRAGMA _A_ 8 _U_ 21111111 _N_ _S_ "LSLLLLLL" _N_ _N_ #-}
+_appendPS :: _PackedString -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-}
+_breakPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_byteArrayToPS :: _ByteArray Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(U(U(P)U(P))P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_concatPS :: [_PackedString] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_consPS :: Char -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _N_ _N_ _N_ #-}
+_dropPS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_dropWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_filterPS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_foldlPS :: (a -> Char -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_foldrPS :: (Char -> a -> a) -> a -> _PackedString -> a
+ {-# GHC_PRAGMA _A_ 3 _U_ 221 _N_ _S_ "LLS" _N_ _N_ #-}
+_headPS :: _PackedString -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_indexPS :: _PackedString -> Int -> Char
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SU(P)" {_A_ 2 _U_ 12 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_lengthPS :: _PackedString -> Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> _!_ I# [] [u2]; _CPS (u4 :: Addr#) (u5 :: Int#) -> _!_ I# [] [u5]; _NO_DEFLT_ } _N_ #-}
+_linesPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_mapPS :: (Char -> Char) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LS" _N_ _N_ #-}
+_nilPS :: _PackedString
+ {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 3 _!_ _CPS [] [""#, 0#] _N_ #-}
+_nullPS :: _PackedString -> Bool
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _F_ _IF_ARGS_ 0 1 C 6 \ (u0 :: _PackedString) -> case u0 of { _ALG_ _PS (u1 :: ByteArray#) (u2 :: Int#) (u3 :: Bool) -> case u2 of { _PRIM_ 0# -> _!_ True [] []; (u4 :: Int#) -> _!_ False [] [] }; _CPS (u5 :: Addr#) (u6 :: Int#) -> case u6 of { _PRIM_ 0# -> _!_ True [] []; (u7 :: Int#) -> _!_ False [] [] }; _NO_DEFLT_ } _N_ #-}
+_packCBytes :: Int -> _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packCString :: _Addr -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_packString :: [Char] -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_psToByteArray :: _PackedString -> _ByteArray Int
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_putPS :: _FILE -> _PackedString -> _State _RealWorld -> ((), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "LSU(P)" {_A_ 3 _U_ 112 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_reversePS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_spanPS :: (Char -> Bool) -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_splitAtPS :: Int -> _PackedString -> (_PackedString, _PackedString)
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
+_substrPS :: _PackedString -> Int -> Int -> _PackedString
+ {-# GHC_PRAGMA _A_ 3 _U_ 211 _N_ _S_ "SU(P)U(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_tailPS :: _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_takePS :: Int -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)S" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 5 \ (u0 :: Int#) (u1 :: _PackedString) -> case _#_ minusInt# [] [u0, 1#] of { _PRIM_ (u2 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u2 ] } _N_} _F_ _ALWAYS_ \ (u0 :: Int) (u1 :: _PackedString) -> case u0 of { _ALG_ I# (u2 :: Int#) -> case _#_ minusInt# [] [u2, 1#] of { _PRIM_ (u3 :: Int#) -> _APP_ _WRKR_ _ORIG_ PreludePS _substrPS [ u1, 0#, u3 ] }; _NO_DEFLT_ } _N_ #-}
+_takeWhilePS :: (Char -> Bool) -> _PackedString -> _PackedString
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-}
+_unpackPS :: _PackedString -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+_wordsPS :: _PackedString -> [_PackedString]
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-}
+(%) :: Integral a => a -> a -> Ratio a
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SA)AAALALLAL)AA)ALLAAAAAAAA)" {_A_ 3 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Integer ] 1 { _A_ 2 _U_ 11 _N_ _S_ "LU(PPP)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+approxRational :: RealFrac a => a -> a -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 3 _U_ 122 _N_ _S_ "U(U(LU(U(ASAALAAA)AAAA)L)AAAAAA)LL" {_A_ 5 _U_ 21222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+denominator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AS)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u3; _NO_DEFLT_ } _N_ #-}
+numerator :: Ratio a -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(SA)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 1 1 X 1 _/\_ u0 -> \ (u1 :: u0) -> u1 _N_} _F_ _IF_ARGS_ 1 1 C 2 _/\_ u0 -> \ (u1 :: Ratio u0) -> case u1 of { _ALG_ (:%) (u2 :: u0) (u3 :: u0) -> u2; _NO_DEFLT_ } _N_ #-}
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/SampleVar.hi b/ghc/lib/prelude/SampleVar.hi
new file mode 100644
index 0000000000..fbaed45d24
--- /dev/null
+++ b/ghc/lib/prelude/SampleVar.hi
@@ -0,0 +1,15 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface SampleVar where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+type SampleVar a = _MVar (Int, _MVar a)
+emptySampleVar :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newSampleVar :: _State _RealWorld -> (Either IOError13 (_MVar (Int, _MVar a)), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readSample :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+writeSample :: _MVar (Int, _MVar a) -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/SampleVar.lhs b/ghc/lib/prelude/SampleVar.lhs
new file mode 100644
index 0000000000..ca8fea435a
--- /dev/null
+++ b/ghc/lib/prelude/SampleVar.lhs
@@ -0,0 +1,95 @@
+%
+% (c) The GRASP/AQUA Project, Glasgow University, 1995
+%
+\section[SampleVar]{Sample variables}
+
+Sample variables are slightly different from a normal @MVar@:
+
+\begin{itemize}
+\item Reading an empty @SampleVar@ causes the reader to block.
+ (same as @takeMVar@ on empty @MVar@)
+\item Reading a filled @SampleVar@ empties it and returns value.
+ (same as @takeMVar@)
+\item Writing to an empty @SampleVar@ fills it with a value, and
+potentially, wakes up a blocked reader (same as for @putMVar@ on empty @MVar@).
+\item Writing to a filled @SampleVar@ overwrites the current value.
+ (different from @putMVar@ on full @MVar@.)
+\end{itemize}
+
+\begin{code}
+module SampleVar
+ (
+ SampleVar(..), --:: type _ =
+
+ newSampleVar, --:: IO (SampleVar a)
+ emptySampleVar, --:: SampleVar a -> IO ()
+ readSample, --:: SampleVar a -> IO a
+ writeSample --:: SampleVar a -> a -> IO ()
+
+ ) where
+
+import PreludeGlaST
+import PreludePrimIO ( newEmptyMVar, newMVar, putMVar,
+ readMVar, swapMVar, takeMVar, _MVar
+ )
+\end{code}
+
+\begin{code}
+
+type SampleVar a
+ = _MVar (Int, -- 1 == full
+ -- 0 == empty
+ -- <0 no of readers blocked
+ _MVar a)
+
+\end{code}
+
+Initally, a @SampleVar@ is empty/unfilled.
+
+\begin{code}
+
+newSampleVar :: IO (SampleVar a)
+newSampleVar
+ = newEmptyMVar >>= \ val ->
+ newMVar (0,val)
+
+emptySampleVar :: SampleVar a -> IO ()
+emptySampleVar v
+ = takeMVar v >>= \ (readers,var) ->
+ if readers >= 0 then
+ putMVar v (0,var)
+ else
+ putMVar v (readers,var)
+
+\end{code}
+
+
+
+\begin{code}
+
+--
+-- filled => make empty and grab sample
+-- not filled => try to grab value, empty when read val.
+--
+readSample :: SampleVar a -> IO a
+readSample svar
+ = takeMVar svar >>= \ (readers,val) ->
+ putMVar svar (readers-1,val) >>
+ takeMVar val
+
+--
+-- filled => overwrite
+-- not filled => fill, write val
+--
+writeSample :: SampleVar a -> a -> IO ()
+writeSample svar v
+ = takeMVar svar >>= \ (readers, val) ->
+ case readers of
+ 1 ->
+ swapMVar val v >>
+ putMVar svar (1,val)
+ _ ->
+ putMVar val v >>
+ putMVar svar (min 1 (readers+1), val)
+
+\end{code}
diff --git a/ghc/lib/prelude/SampleVar_mc.hi b/ghc/lib/prelude/SampleVar_mc.hi
new file mode 100644
index 0000000000..fbaed45d24
--- /dev/null
+++ b/ghc/lib/prelude/SampleVar_mc.hi
@@ -0,0 +1,15 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface SampleVar where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+type SampleVar a = _MVar (Int, _MVar a)
+emptySampleVar :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newSampleVar :: _State _RealWorld -> (Either IOError13 (_MVar (Int, _MVar a)), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readSample :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+writeSample :: _MVar (Int, _MVar a) -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/SampleVar_mg.hi b/ghc/lib/prelude/SampleVar_mg.hi
new file mode 100644
index 0000000000..fbaed45d24
--- /dev/null
+++ b/ghc/lib/prelude/SampleVar_mg.hi
@@ -0,0 +1,15 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface SampleVar where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+type SampleVar a = _MVar (Int, _MVar a)
+emptySampleVar :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newSampleVar :: _State _RealWorld -> (Either IOError13 (_MVar (Int, _MVar a)), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readSample :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+writeSample :: _MVar (Int, _MVar a) -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/SampleVar_mp.hi b/ghc/lib/prelude/SampleVar_mp.hi
new file mode 100644
index 0000000000..fbaed45d24
--- /dev/null
+++ b/ghc/lib/prelude/SampleVar_mp.hi
@@ -0,0 +1,15 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface SampleVar where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+type SampleVar a = _MVar (Int, _MVar a)
+emptySampleVar :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newSampleVar :: _State _RealWorld -> (Either IOError13 (_MVar (Int, _MVar a)), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readSample :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+writeSample :: _MVar (Int, _MVar a) -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/SampleVar_p.hi b/ghc/lib/prelude/SampleVar_p.hi
new file mode 100644
index 0000000000..fbaed45d24
--- /dev/null
+++ b/ghc/lib/prelude/SampleVar_p.hi
@@ -0,0 +1,15 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface SampleVar where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+type SampleVar a = _MVar (Int, _MVar a)
+emptySampleVar :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newSampleVar :: _State _RealWorld -> (Either IOError13 (_MVar (Int, _MVar a)), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readSample :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+writeSample :: _MVar (Int, _MVar a) -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/SampleVar_t.hi b/ghc/lib/prelude/SampleVar_t.hi
new file mode 100644
index 0000000000..fbaed45d24
--- /dev/null
+++ b/ghc/lib/prelude/SampleVar_t.hi
@@ -0,0 +1,15 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface SampleVar where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+type SampleVar a = _MVar (Int, _MVar a)
+emptySampleVar :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newSampleVar :: _State _RealWorld -> (Either IOError13 (_MVar (Int, _MVar a)), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+readSample :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+writeSample :: _MVar (Int, _MVar a) -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Semaphore.hi b/ghc/lib/prelude/Semaphore.hi
new file mode 100644
index 0000000000..d1a8655d06
--- /dev/null
+++ b/ghc/lib/prelude/Semaphore.hi
@@ -0,0 +1,20 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Semaphore where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data QSem {-# GHC_PRAGMA QSem (_MVar (Int, [_MVar ()])) #-}
+data QSemN {-# GHC_PRAGMA QSemN (_MVar (Int, [(Int, _MVar ())])) #-}
+newQSem :: Int -> _State _RealWorld -> (Either IOError13 QSem, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newQSemN :: Int -> _State _RealWorld -> (Either IOError13 QSemN, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Semaphore.lhs b/ghc/lib/prelude/Semaphore.lhs
new file mode 100644
index 0000000000..df4eaed0d9
--- /dev/null
+++ b/ghc/lib/prelude/Semaphore.lhs
@@ -0,0 +1,122 @@
+%
+% (c) The GRASP/AQUA Project, Glasgow University, 1995
+%
+\section[Semaphore]{Quantity semaphores}
+
+General/quantity semaphores
+
+\begin{code}
+module Semaphore
+
+ (
+ {- abstract -}
+ QSem,
+
+ newQSem, --:: Int -> IO QSem
+ waitQSem, --:: QSem -> IO ()
+ signalQSem, --:: QSem -> IO ()
+
+ {- abstract -}
+ QSemN,
+ newQSemN, --:: Int -> IO QSemN
+ waitQSemN, --:: QSemN -> Int -> IO ()
+ signalQSemN --:: QSemN -> Int -> IO ()
+
+ ) where
+
+import PreludeGlaST
+import PreludePrimIO ( newEmptyMVar, newMVar, putMVar,
+ readMVar, takeMVar, _MVar
+ )
+\end{code}
+
+General semaphores are also implemented readily in terms of shared @MVar@s,
+only have to catch the case when the semaphore is tried waited on
+when it is empty (==0). Implement this in the same way as shared variables are
+implemented - maintaining a list of @MVar@s representing threads currently
+waiting. The counter is a shared variable, ensuring the mutual exclusion on its access.
+
+\begin{code}
+
+data QSem = QSem (_MVar (Int, [_MVar ()]))
+
+newQSem :: Int -> IO QSem
+newQSem init
+ = newMVar (init,[]) >>= \ sem ->
+ return (QSem sem)
+
+waitQSem :: QSem -> IO ()
+waitQSem (QSem sem)
+ = takeMVar sem >>= \ (avail,blocked) -> -- gain ex. access
+ if avail > 0 then
+ putMVar sem (avail-1,[]) >>
+ return ()
+ else
+ newEmptyMVar >>= \ block ->
+ {-
+ Stuff the reader at the back of the queue,
+ so as to preserve waiting order. A signalling
+ process then only have to pick the MVar at the
+ front of the blocked list.
+
+ The version of waitQSem given in the paper could
+ lead to starvation.
+ -}
+ putMVar sem (0, blocked++[block]) >>
+ takeMVar block >>= \ v ->
+ return v
+
+signalQSem :: QSem -> IO ()
+signalQSem (QSem sem)
+ = takeMVar sem >>= \ (avail,blocked) ->
+ case blocked of
+ [] -> putMVar sem (avail+1,[]) >>
+ return ()
+ (block:blocked') ->
+ putMVar sem (0,blocked') >>
+ putMVar block () >>
+ return ()
+
+\end{code}
+
+\begin{code}
+
+data QSemN
+ = QSemN (_MVar (Int,[(Int,_MVar ())]))
+
+newQSemN :: Int -> IO QSemN
+newQSemN init
+ = newMVar (init,[]) >>= \ sem ->
+ return (QSemN sem)
+
+waitQSemN :: QSemN -> Int -> IO ()
+waitQSemN (QSemN sem) sz
+ = takeMVar sem >>= \ (avail,blocked) -> -- gain ex. access
+ if avail > 0 then
+ putMVar sem (avail-1,[]) >>
+ return ()
+ else
+ newEmptyMVar >>= \ block ->
+ putMVar sem (0, blocked++[(sz,block)]) >>
+ takeMVar block >>
+ return ()
+
+
+signalQSemN :: QSemN -> Int -> IO ()
+signalQSemN (QSemN sem) n
+ = takeMVar sem >>= \ (avail,blocked) ->
+ free (avail+n) blocked >>= \ (avail',blocked') ->
+ putMVar sem (avail',blocked') >>
+ return ()
+ where
+ free avail [] = return (avail,[])
+ free avail ((req,block):blocked) =
+ if avail > req then
+ putMVar block () >>
+ free (avail-req) blocked
+ else
+ free avail blocked >>= \ (avail',blocked') ->
+ return (avail',(req,block):blocked')
+
+
+\end{code}
diff --git a/ghc/lib/prelude/Semaphore_mc.hi b/ghc/lib/prelude/Semaphore_mc.hi
new file mode 100644
index 0000000000..d1a8655d06
--- /dev/null
+++ b/ghc/lib/prelude/Semaphore_mc.hi
@@ -0,0 +1,20 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Semaphore where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data QSem {-# GHC_PRAGMA QSem (_MVar (Int, [_MVar ()])) #-}
+data QSemN {-# GHC_PRAGMA QSemN (_MVar (Int, [(Int, _MVar ())])) #-}
+newQSem :: Int -> _State _RealWorld -> (Either IOError13 QSem, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newQSemN :: Int -> _State _RealWorld -> (Either IOError13 QSemN, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Semaphore_mg.hi b/ghc/lib/prelude/Semaphore_mg.hi
new file mode 100644
index 0000000000..d1a8655d06
--- /dev/null
+++ b/ghc/lib/prelude/Semaphore_mg.hi
@@ -0,0 +1,20 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Semaphore where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data QSem {-# GHC_PRAGMA QSem (_MVar (Int, [_MVar ()])) #-}
+data QSemN {-# GHC_PRAGMA QSemN (_MVar (Int, [(Int, _MVar ())])) #-}
+newQSem :: Int -> _State _RealWorld -> (Either IOError13 QSem, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newQSemN :: Int -> _State _RealWorld -> (Either IOError13 QSemN, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Semaphore_mp.hi b/ghc/lib/prelude/Semaphore_mp.hi
new file mode 100644
index 0000000000..d1a8655d06
--- /dev/null
+++ b/ghc/lib/prelude/Semaphore_mp.hi
@@ -0,0 +1,20 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Semaphore where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data QSem {-# GHC_PRAGMA QSem (_MVar (Int, [_MVar ()])) #-}
+data QSemN {-# GHC_PRAGMA QSemN (_MVar (Int, [(Int, _MVar ())])) #-}
+newQSem :: Int -> _State _RealWorld -> (Either IOError13 QSem, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newQSemN :: Int -> _State _RealWorld -> (Either IOError13 QSemN, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Semaphore_p.hi b/ghc/lib/prelude/Semaphore_p.hi
new file mode 100644
index 0000000000..d1a8655d06
--- /dev/null
+++ b/ghc/lib/prelude/Semaphore_p.hi
@@ -0,0 +1,20 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Semaphore where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data QSem {-# GHC_PRAGMA QSem (_MVar (Int, [_MVar ()])) #-}
+data QSemN {-# GHC_PRAGMA QSemN (_MVar (Int, [(Int, _MVar ())])) #-}
+newQSem :: Int -> _State _RealWorld -> (Either IOError13 QSem, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newQSemN :: Int -> _State _RealWorld -> (Either IOError13 QSemN, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Semaphore_t.hi b/ghc/lib/prelude/Semaphore_t.hi
new file mode 100644
index 0000000000..d1a8655d06
--- /dev/null
+++ b/ghc/lib/prelude/Semaphore_t.hi
@@ -0,0 +1,20 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface Semaphore where
+import PreludeIOError(IOError13)
+import PreludeMonadicIO(Either)
+import PreludePrimIO(_MVar)
+data QSem {-# GHC_PRAGMA QSem (_MVar (Int, [_MVar ()])) #-}
+data QSemN {-# GHC_PRAGMA QSemN (_MVar (Int, [(Int, _MVar ())])) #-}
+newQSem :: Int -> _State _RealWorld -> (Either IOError13 QSem, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+newQSemN :: Int -> _State _RealWorld -> (Either IOError13 QSemN, _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+signalQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+waitQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
+ {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+
diff --git a/ghc/lib/prelude/Text.hi b/ghc/lib/prelude/Text.hi
new file mode 100644
index 0000000000..a789463a27
--- /dev/null
+++ b/ghc/lib/prelude/Text.hi
@@ -0,0 +1,56 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeText where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple2)
+import PreludeCore(Bool(..), Integral(..), Real(..), RealFloat(..), Text(..))
+import PreludeRatio(Ratio(..))
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readHex :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readOct :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/Text.hs b/ghc/lib/prelude/Text.hs
new file mode 100644
index 0000000000..239c6556da
--- /dev/null
+++ b/ghc/lib/prelude/Text.hs
@@ -0,0 +1,461 @@
+module PreludeText (
+ ReadS(..), ShowS(..),
+
+ lex,
+ showString,
+ readParen,
+ showParen,
+ read,
+ readDec,
+ readFloat,
+ readLitChar,
+ readSigned,
+ _readRational,
+ reads,
+ show,
+ showChar,
+ showFloat,
+ showInt,
+ showLitChar,
+ showSigned,
+ shows,
+
+ _showHex, _showRadix, _showDigit, -- non-std
+
+ showSpace__, -- non-std
+-- lexToss__, -- non-std
+ readOct, readHex
+ ) where
+
+import Cls
+import Core
+import IChar -- instances
+import IDouble
+import IFloat
+import IInt
+import IInteger
+import IList
+import IRatio
+import ITup2
+import List
+import Prel
+import PS ( _PackedString, _unpackPS )
+import TyComplex -- for pragmas
+
+-- import Prelude hiding ( readParen )
+
+type ReadS a = String -> [(a,String)]
+type ShowS = String -> String
+
+-- *** instances omitted ***
+
+
+{-# SPECIALIZE reads :: ReadS Int,
+ ReadS Integer,
+ ReadS Float,
+ ReadS Double #-}
+{-# SPECIALIZE shows :: Int -> String -> String = shows_Int,
+ Integer -> String -> String = shows_Integer,
+ Float -> String -> String,
+ Double -> String -> String #-}
+{-# SPECIALIZE show :: Char -> String,
+ Int -> String = itos,
+ Integer -> String = jtos,
+ Float -> String,
+ Double -> String,
+ _PackedString -> String,
+ String -> String,
+ (Int,Int) -> String,
+ (Integer,Integer) -> String #-}
+{-# SPECIALIZE read :: String -> Int,
+ String -> Integer,
+ String -> Float,
+ String -> Double #-}
+
+--{-# GENERATE_SPECS reads a #-}
+reads :: (Text a) => ReadS a
+reads = readsPrec 0
+
+--{-# GENERATE_SPECS read a #-}
+read :: (Text a) => String -> a
+read s = case [x | (x,t) <- reads s, ("","") <- lex t] of
+ [x] -> x
+ [] -> error ("read{PreludeText}: no parse:"++s++"\n")
+ _ -> error ("read{PreludeText}: ambiguous parse:"++s++"\n")
+
+--{-# GENERATE_SPECS shows a{+,Int} #-}
+shows :: (Text a) => a -> ShowS
+shows = showsPrec 0
+
+shows_Int :: Int -> ShowS
+shows_Int n r = itos n ++ r -- showsPrec 0 n r
+
+shows_Integer :: Integer -> ShowS
+shows_Integer n r = jtos n ++ r -- showsPrec 0 n r
+
+--{-# GENERATE_SPECS show a{+,Int} #-}
+show :: (Text a) => a -> String
+show x = shows x ""
+
+showChar :: Char -> ShowS
+showChar = (:)
+
+showSpace__ :: ShowS -- partain: this one is non-std
+showSpace__ = {-showChar ' '-} \ xs -> ' ' : xs
+
+showString :: String -> ShowS
+showString = (++)
+
+showParen :: Bool -> ShowS -> ShowS
+showParen b p = if b then showChar '(' . p . showChar ')' else p
+
+readParen :: Bool -> ReadS a -> ReadS a
+readParen b g = if b then mandatory else optional
+ where optional r = g r ++ mandatory r
+ mandatory r = [(x,u) | ("(",s) <- lex r,
+ (x,t) <- optional s,
+ (")",u) <- lex t ]
+
+--------------------------------------------
+lex :: ReadS String
+lex "" = [("","")]
+lex (c:s) | isSpace c = lex (dropWhile isSpace s)
+lex ('-':'-':s) = case dropWhile (/= '\n') s of
+ '\n':t -> lex t
+ _ -> [] -- unterminated end-of-line
+ -- comment
+
+lex ('{':'-':s) = lexNest lex s
+ where
+ lexNest f ('-':'}':s) = f s
+ lexNest f ('{':'-':s) = lexNest (lexNest f) s
+ lexNest f (c:s) = lexNest f s
+ lexNest _ "" = [] -- unterminated
+ -- nested comment
+
+lex ('<':'-':s) = [("<-",s)]
+lex ('\'':s) = [('\'':ch++"'", t) | (ch,'\'':t) <- lexLitChar s,
+ ch /= "'" ]
+lex ('"':s) = [('"':str, t) | (str,t) <- lexString s]
+ where
+ lexString ('"':s) = [("\"",s)]
+ lexString s = [(ch++str, u)
+ | (ch,t) <- lexStrItem s,
+ (str,u) <- lexString t ]
+
+ lexStrItem ('\\':'&':s) = [("\\&",s)]
+ lexStrItem ('\\':c:s) | isSpace c
+ = [("\\&",t) | '\\':t <- [dropWhile isSpace s]]
+ lexStrItem s = lexLitChar s
+
+lex (c:s) | isSingle c = [([c],s)]
+ | isSym1 c = [(c:sym,t) | (sym,t) <- [span isSym s]]
+ | isAlpha c = [(c:nam,t) | (nam,t) <- [span isIdChar s]]
+ | isDigit c = [(c:ds++fe,t) | (ds,s) <- [span isDigit s],
+ (fe,t) <- lexFracExp s ]
+ | otherwise = [] -- bad character
+ where
+ isSingle c = c `elem` ",;()[]{}_`"
+ isSym1 c = c `elem` "-~" || isSym c
+ isSym c = c `elem` "!@#$%&*+./<=>?\\^|:"
+ isIdChar c = isAlphanum c || c `elem` "_'"
+
+ lexFracExp ('.':d:s) | isDigit d
+ = [('.':d:ds++e,u) | (ds,t) <- [span isDigit s],
+ (e,u) <- lexExp t ]
+ lexFracExp s = [("",s)]
+
+ lexExp (e:s) | e `elem` "eE"
+ = [(e:c:ds,u) | (c:t) <- [s], c `elem` "+-",
+ (ds,u) <- lexDigits t] ++
+ [(e:ds,t) | (ds,t) <- lexDigits s]
+ lexExp s = [("",s)]
+
+lexDigits :: ReadS String
+lexDigits = nonnull isDigit
+
+nonnull :: (Char -> Bool) -> ReadS String
+nonnull p s = [(cs,t) | (cs@(_:_),t) <- [span p s]]
+
+lexLitChar :: ReadS String
+
+lexLitChar ('\\':s) = [('\\':esc, t) | (esc,t) <- lexEsc s]
+ where
+ lexEsc (c:s) | c `elem` "abfnrtv\\\"'" = [([c],s)]
+ lexEsc ('^':c:s) | c >= '@' && c <= '_' = [(['^',c],s)]
+ lexEsc s@(d:_) | isDigit d = lexDigits s
+ lexEsc ('o':s) = [('o':os, t) | (os,t) <- nonnull isOctDigit s]
+ lexEsc ('x':s) = [('x':xs, t) | (xs,t) <- nonnull isHexDigit s]
+ lexEsc s@(c:_) | isUpper c
+ = case [(mne,s') | mne <- "DEL" : asciiTab,
+ ([],s') <- [match mne s] ]
+ of (pr:_) -> [pr]
+ [] -> []
+ lexEsc _ = []
+lexLitChar (c:s) = [([c],s)]
+lexLitChar "" = []
+
+isOctDigit c = c >= '0' && c <= '7'
+isHexDigit c = isDigit c || c >= 'A' && c <= 'F'
+ || c >= 'a' && c <= 'f'
+
+match :: (Eq a) => [a] -> [a] -> ([a],[a])
+match (x:xs) (y:ys) | x == y = match xs ys
+match xs ys = (xs,ys)
+
+asciiTab = -- Using an array drags in the array module. listArray ('\NUL', ' ')
+ ["NUL", "SOH", "STX", "ETX", "EOT", "ENQ", "ACK", "BEL",
+ "BS", "HT", "LF", "VT", "FF", "CR", "SO", "SI",
+ "DLE", "DC1", "DC2", "DC3", "DC4", "NAK", "SYN", "ETB",
+ "CAN", "EM", "SUB", "ESC", "FS", "GS", "RS", "US",
+ "SP"]
+
+readLitChar :: ReadS Char
+
+readLitChar ('\\':s) = readEsc s
+ where
+ readEsc ('a':s) = [('\a',s)]
+ readEsc ('b':s) = [('\b',s)]
+ readEsc ('f':s) = [('\f',s)]
+ readEsc ('n':s) = [('\n',s)]
+ readEsc ('r':s) = [('\r',s)]
+ readEsc ('t':s) = [('\t',s)]
+ readEsc ('v':s) = [('\v',s)]
+ readEsc ('\\':s) = [('\\',s)]
+ readEsc ('"':s) = [('"',s)]
+ readEsc ('\'':s) = [('\'',s)]
+ readEsc ('^':c:s) | c >= '@' && c <= '_'
+ = [(chr (ord c - ord '@'), s)]
+ readEsc s@(d:_) | isDigit d
+ = [(chr n, t) | (n,t) <- readDec s]
+ readEsc ('o':s) = [(chr n, t) | (n,t) <- readOct s]
+ readEsc ('x':s) = [(chr n, t) | (n,t) <- readHex s]
+ readEsc s@(c:_) | isUpper c
+ = let table = ('\DEL', "DEL") : zip ['\NUL'..] asciiTab
+ in case [(c,s') | (c, mne) <- table,
+ ([],s') <- [match mne s]]
+ of (pr:_) -> [pr]
+ [] -> []
+ readEsc _ = []
+readLitChar (c:s) = [(c,s)]
+
+showLitChar :: Char -> ShowS
+showLitChar c | c > '\DEL' = showChar '\\' . protectEsc isDigit (shows (ord c))
+showLitChar '\DEL' = showString "\\DEL"
+showLitChar '\\' = showString "\\\\"
+showLitChar c | c >= ' ' = showChar c
+showLitChar '\a' = showString "\\a"
+showLitChar '\b' = showString "\\b"
+showLitChar '\f' = showString "\\f"
+showLitChar '\n' = showString "\\n"
+showLitChar '\r' = showString "\\r"
+showLitChar '\t' = showString "\\t"
+showLitChar '\v' = showString "\\v"
+showLitChar '\SO' = protectEsc (== 'H') (showString "\\SO")
+showLitChar c = showString ('\\' : asciiTab!!ord c)
+
+protectEsc p f = f . cont
+ where cont s@(c:_) | p c = "\\&" ++ s
+ cont s = s
+
+{-# SPECIALIZE readDec :: ReadS Int, ReadS Integer #-}
+-- specialisations of readInt should happen automagically
+{-# SPECIALIZE showInt :: Int -> ShowS, Integer -> ShowS #-}
+
+readDec, readOct, readHex :: (Integral a) => ReadS a
+readDec = readInt 10 isDigit (\d -> ord d - i_ord_0)
+readOct = readInt 8 isOctDigit (\d -> ord d - i_ord_0)
+readHex = readInt 16 isHexDigit hex
+ where hex d = ord d - (if isDigit d then i_ord_0
+ else ord (if isUpper d then 'A' else 'a')
+ - 10)
+
+readInt :: (Integral a) => a -> (Char -> Bool) -> (Char -> Int) -> ReadS a
+readInt radix isDig digToInt s =
+ [(foldl1 (\n d -> n * radix + d) (map (fromIntegral . digToInt) ds), r)
+ | (ds,r) <- nonnull isDig s ]
+
+showInt :: (Integral a) => a -> ShowS
+{- USE_REPORT_PRELUDE
+showInt n r = let (n',d) = quotRem n 10
+ r' = chr (i_ord_0 + fromIntegral d) : r
+ in if n' == 0 then r' else showInt n' r'
+-}
+
+showInt n r
+ = case quotRem n 10 of { (n', d) ->
+ case (chr (i_ord_0 + fromIntegral d)) of { C# c# -> -- stricter than necessary
+ let
+ r' = C# c# : r
+ in
+ if n' == 0 then r' else showInt n' r'
+ }}
+
+-- #endif /* ! USE_REPORT_PRELUDE */
+
+{-# SPECIALIZE readSigned :: ReadS Int -> ReadS Int,
+ ReadS Integer -> ReadS Integer,
+ ReadS Double -> ReadS Double #-}
+{-# SPECIALIZE showSigned :: (Int -> ShowS) -> Int -> Int -> ShowS = showSigned_Int,
+ (Integer -> ShowS) -> Int -> Integer -> ShowS = showSigned_Integer,
+ (Double -> ShowS) -> Int -> Double -> ShowS #-}
+{-# SPECIALIZE readFloat :: ReadS Float,
+ ReadS Double #-}
+{-# SPECIALIZE showFloat :: Float -> ShowS, Double -> ShowS #-}
+
+readSigned:: (Real a) => ReadS a -> ReadS a
+readSigned readPos = readParen False read'
+ where read' r = read'' r ++
+ [(-x,t) | ("-",s) <- lex r,
+ (x,t) <- read'' s]
+ read'' r = [(n,s) | (str,s) <- lex r,
+ (n,"") <- readPos str]
+
+-- ******************************************************************
+
+showSigned:: (Real a) => (a -> ShowS) -> Int -> a -> ShowS
+showSigned showPos p x = if x < 0 then showParen (p > 6)
+ (showChar '-' . showPos (-x))
+ else showPos x
+
+showSigned_Int :: (Int -> ShowS) -> Int -> Int -> ShowS
+showSigned_Int _ p n r
+ = -- from HBC version; support code follows
+ if n < 0 && p > 6 then '(':itos n++(')':r) else itos n ++ r
+
+showSigned_Integer :: (Integer -> ShowS) -> Int -> Integer -> ShowS
+showSigned_Integer _ p n r
+ = -- from HBC version; support code follows
+ if n < 0 && p > 6 then '(':jtos n++(')':r) else jtos n ++ r
+
+itos :: Int -> String
+itos n =
+ if n < 0 then
+ if -n < 0 then
+ -- n is minInt, a difficult number
+ itos (n `quot` 10) ++ itos' (-(n `rem` 10)) []
+ else
+ '-':itos' (-n) []
+ else
+ itos' n []
+ where
+ itos' :: Int -> String -> String
+ itos' n cs =
+ if n < 10 then
+ chr (n + i_ord_0) : cs
+ else
+ itos' (n `quot` 10) (chr (n `rem` 10+i_ord_0) : cs)
+
+i_ord_0 :: Int
+j_ord_0 :: Integer
+i_ord_0 = ord '0'
+j_ord_0 = toInteger (ord '0')
+
+jtos :: Integer -> String
+jtos n =
+ if n < 0 then
+ if -n < 0 then
+ -- n is minInt, a difficult number
+ jtos (n `quot` 10) ++ jtos' (-(n `rem` 10)) []
+ else
+ '-':jtos' (-n) []
+ else
+ jtos' n []
+ where
+ jtos' :: Integer -> String -> String
+ jtos' n cs =
+ if n < 10 then
+ chr (fromInteger (n + j_ord_0)) : cs
+ else
+ jtos' (n `quot` 10) (chr (fromInteger (n `rem` 10+j_ord_0)) : cs)
+
+-- ******************************************************************
+
+-- The functions readFloat and showFloat below use rational arithmetic
+-- to insure correct conversion between the floating-point radix and
+-- decimal. It is often possible to use a higher-precision floating-
+-- point type to obtain the same results.
+
+readFloat :: (RealFloat a) => ReadS a
+readFloat r = [(fromRational x, t) | (x, t) <- readRational r]
+
+readRational :: ReadS Rational -- NB: doesn't handle leading "-"
+
+readRational r
+ = [ ( (n%1)*10^^(k-d), t ) | (n,d,s) <- readFix r,
+ (k,t) <- readExp s]
+ where readFix r = [(read (ds++ds'), length ds', t)
+ | (ds,'.':s) <- lexDigits r,
+ (ds',t) <- lexDigits s ]
+
+ readExp (e:s) | e `elem` "eE" = readExp' s
+ readExp s = [(0,s)]
+
+ readExp' ('-':s) = [(-k,t) | (k,t) <- readDec s]
+ readExp' ('+':s) = readDec s
+ readExp' s = readDec s
+
+_readRational :: String -> Rational -- we export this one (non-std)
+ -- NB: *does* handle a leading "-"
+_readRational top_s
+ = case top_s of
+ '-' : xs -> - (read_me xs)
+ xs -> read_me xs
+ where
+ read_me s
+ = case [x | (x,t) <- readRational s, ("","") <- lex t] of
+ [x] -> x
+ [] -> error ("_readRational: no parse:" ++ top_s)
+ _ -> error ("_readRational: ambiguous parse:" ++ top_s)
+
+-- The number of decimal digits m below is chosen to guarantee
+-- read (show x) == x. See
+-- Matula, D. W. A formalization of floating-point numeric base
+-- conversion. IEEE Transactions on Computers C-19, 8 (1970 August),
+-- 681-692.
+
+zeros = repeat '0'
+
+showFloat:: (RealFloat a) => a -> ShowS
+showFloat x =
+ if x == 0 then showString ("0." ++ take (m-1) zeros)
+ else if e >= m-1 || e < 0 then showSci else showFix
+ where
+ showFix = showString whole . showChar '.' . showString frac
+ where (whole,frac) = splitAt (e+1) (show sig)
+ showSci = showChar d . showChar '.' . showString frac
+ . showChar 'e' . shows e
+ where (d:frac) = show sig
+ (m, sig, e) = if b == 10 then (w, s, n+w-1)
+ else (m', sig', e' )
+ m' = _ceiling
+ ((fromIntegral w * log (fromInteger b)) / log 10 :: Double)
+ + 1
+ (sig', e') = if sig1 >= 10^m' then (_round (t/10), e1+1)
+ else if sig1 < 10^(m'-1) then (_round (t*10), e1-1)
+ else (sig1, e1 )
+ sig1 = _round t
+ t = s%1 * (b%1)^^n * 10^^(m'-e1-1)
+ e1 = _floor (logBase 10 x)
+ (s, n) = decodeFloat x
+ b = floatRadix x
+ w = floatDigits x
+
+
+-- With all the guff the Prelude defines, you'd have thought they'd
+-- include a few of the basics! ADR
+-- (I guess this could be put in a utilities module instead...)
+
+_showHex :: Int -> ShowS
+_showHex = _showRadix 16
+
+_showRadix :: Int -> Int -> ShowS
+_showRadix radix n r =
+ let (n',d) = quotRem n radix
+ r' = _showDigit d : r
+ in
+ if n' == 0 then r' else _showRadix radix n' r'
+
+_showDigit :: Int -> Char
+_showDigit d | d < 10 = chr (i_ord_0 + d)
+ | otherwise = chr (ord 'a' + (d - 10))
diff --git a/ghc/lib/prelude/Text_mc.hi b/ghc/lib/prelude/Text_mc.hi
new file mode 100644
index 0000000000..a789463a27
--- /dev/null
+++ b/ghc/lib/prelude/Text_mc.hi
@@ -0,0 +1,56 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeText where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple2)
+import PreludeCore(Bool(..), Integral(..), Real(..), RealFloat(..), Text(..))
+import PreludeRatio(Ratio(..))
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readHex :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readOct :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/Text_mg.hi b/ghc/lib/prelude/Text_mg.hi
new file mode 100644
index 0000000000..a789463a27
--- /dev/null
+++ b/ghc/lib/prelude/Text_mg.hi
@@ -0,0 +1,56 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeText where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple2)
+import PreludeCore(Bool(..), Integral(..), Real(..), RealFloat(..), Text(..))
+import PreludeRatio(Ratio(..))
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readHex :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readOct :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/Text_mp.hi b/ghc/lib/prelude/Text_mp.hi
new file mode 100644
index 0000000000..a789463a27
--- /dev/null
+++ b/ghc/lib/prelude/Text_mp.hi
@@ -0,0 +1,56 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeText where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple2)
+import PreludeCore(Bool(..), Integral(..), Real(..), RealFloat(..), Text(..))
+import PreludeRatio(Ratio(..))
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readHex :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readOct :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/Text_mr.hi b/ghc/lib/prelude/Text_mr.hi
new file mode 100644
index 0000000000..a789463a27
--- /dev/null
+++ b/ghc/lib/prelude/Text_mr.hi
@@ -0,0 +1,56 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeText where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple2)
+import PreludeCore(Bool(..), Integral(..), Real(..), RealFloat(..), Text(..))
+import PreludeRatio(Ratio(..))
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readHex :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readOct :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/Text_mt.hi b/ghc/lib/prelude/Text_mt.hi
new file mode 100644
index 0000000000..a789463a27
--- /dev/null
+++ b/ghc/lib/prelude/Text_mt.hi
@@ -0,0 +1,56 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeText where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple2)
+import PreludeCore(Bool(..), Integral(..), Real(..), RealFloat(..), Text(..))
+import PreludeRatio(Ratio(..))
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readHex :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readOct :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/Text_p.hi b/ghc/lib/prelude/Text_p.hi
new file mode 100644
index 0000000000..e615b958f0
--- /dev/null
+++ b/ghc/lib/prelude/Text_p.hi
@@ -0,0 +1,56 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeText where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple2)
+import PreludeCore(Bool(..), Integral(..), Real(..), RealFloat(..), Text(..))
+import PreludeRatio(Ratio(..))
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readHex :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readOct :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 0 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 222 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/Text_t.hi b/ghc/lib/prelude/Text_t.hi
new file mode 100644
index 0000000000..a789463a27
--- /dev/null
+++ b/ghc/lib/prelude/Text_t.hi
@@ -0,0 +1,56 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeText where
+import PreludeBuiltin(Char(..), Int(..), Integer(..), List(..), Tuple2)
+import PreludeCore(Bool(..), Integral(..), Real(..), RealFloat(..), Text(..))
+import PreludeRatio(Ratio(..))
+type ReadS a = [Char] -> [(a, [Char])]
+type ShowS = [Char] -> [Char]
+_readRational :: [Char] -> Ratio Integer
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+_showDigit :: Int -> Char
+ {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+_showHex :: Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
+_showRadix :: Int -> Int -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 3 _U_ 112 _N_ _S_ "U(P)U(P)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
+lex :: [Char] -> [([Char], [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-}
+read :: Text a => [Char] -> a
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readDec :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readFloat :: RealFloat a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "LS" _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ } #-}
+readHex :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readLitChar :: [Char] -> [(Char, [Char])]
+ {-# GHC_PRAGMA _A_ 0 _U_ 1 _N_ _N_ _N_ _N_ #-}
+readOct :: Integral a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 22 _N_ _N_ _N_ _SPECIALISE_ [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+readParen :: Bool -> ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _S_ "EL" _N_ _N_ #-}
+readSigned :: Real a => ([Char] -> [(a, [Char])]) -> [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 2 _U_ 122 _N_ _N_ _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+reads :: Text a => [Char] -> [(a, [Char])]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(SAAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ } #-}
+show :: Text a => a -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 12 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(PPP)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ }, [ _PackedString ] 1 { _A_ 1 _U_ 1 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 1 _U_ 1 _N_ _S_ "U(LL)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 2 XX 3 \ (u0 :: Char) (u1 :: [Char]) -> _!_ (:) [Char] [u0, u1] _N_ #-}
+showFloat :: RealFloat a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(LU(SLLL)LAAAA)LLLALAAAA)" {_A_ 5 _U_ 1122222 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ } #-}
+showInt :: Integral a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(U(U(U(SL)LLLLLLLLL)LL)LLLLLSLLLLL)" _N_ _SPECIALISE_ [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showLitChar :: Char -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ #-}
+showParen :: Bool -> ([Char] -> [Char]) -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 0 _U_ 122 _N_ _N_ _N_ _N_ #-}
+showSigned :: Real a => (a -> [Char] -> [Char]) -> Int -> a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 12222 _N_ _S_ "U(LU(U(ASAAAAAA)AAAA)A)" {_A_ 2 _U_ 212122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Double ] 1 { _A_ 3 _U_ 2112 _N_ _S_ "LLU(P)" {_A_ 3 _U_ 2122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Int ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(P)L" {_A_ 3 _U_ 122 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 4 _U_ 0112 _N_ _S_ "ALU(PPP)L" {_A_ 5 _U_ 12222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+showSpace__ :: [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _N_ _N_ _N_ #-}
+showString :: [Char] -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ PreludeList (++) { Char } _N_ #-}
+shows :: Text a => a -> [Char] -> [Char]
+ {-# GHC_PRAGMA _A_ 1 _U_ 122 _N_ _S_ "U(ASAA)" {_A_ 1 _U_ 122 _N_ _N_ _N_ _N_} _N_ _SPECIALISE_ [ Char ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Double ] 1 { _A_ 1 _U_ 12 _N_ _S_ "U(P)" {_A_ 1 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Float ] 1 { _A_ 0 _U_ 22 _N_ _N_ _N_ _N_ }, [ Int ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ }, [ Integer ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(PPP)L" {_A_ 4 _U_ 2222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ [Char] ] 1 { _A_ 1 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _CONSTM_ Text showList (Char) _N_ }, [ _PackedString ] 1 { _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ }, [ (Int, Int) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ }, [ (Integer, Integer) ] 1 { _A_ 2 _U_ 12 _N_ _S_ "U(LL)L" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ } #-}
+
diff --git a/ghc/lib/prelude/TyArray.hi b/ghc/lib/prelude/TyArray.hi
new file mode 100644
index 0000000000..6cf47cbd0d
--- /dev/null
+++ b/ghc/lib/prelude/TyArray.hi
@@ -0,0 +1,10 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeArray where
+import PreludeBuiltin(Tuple2)
+import PreludeCore(_CCallable(..))
+data Array a b = _Array (a, a) (Array# b)
+data Assoc a b = (:=) a b
+data _ByteArray a = _ByteArray (a, a) ByteArray#
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/TyArray.hs b/ghc/lib/prelude/TyArray.hs
new file mode 100644
index 0000000000..660f90e7e6
--- /dev/null
+++ b/ghc/lib/prelude/TyArray.hs
@@ -0,0 +1,27 @@
+module PreludeArray (
+ Assoc(..), Array(..), _ByteArray(..)
+ ) where
+
+import Cls
+import Core
+
+data Assoc a b = a := b deriving ()
+
+-- Report: we do not do this:
+-- data {-(Ix a) =>-} Array a b = MkArray (a,a) (a -> b) deriving ()
+-- context omitted to match builtin version
+
+-- Our version of a Haskell array:
+data Array ix elt = _Array (ix, ix) (Array# elt)
+
+-- And the companion "byte array" type:
+data _ByteArray ix = _ByteArray (ix,ix) ByteArray#
+
+instance _CCallable (_ByteArray ix)
+
+{- ToDo: Unboxed arrays:
+
+{- SPECIALIZE data a{Int#} b :: Assoc a b #-}
+{- SPECIALIZE data a{Int#} b :: Array a b #-}
+
+-}
diff --git a/ghc/lib/prelude/TyArray_mc.hi b/ghc/lib/prelude/TyArray_mc.hi
new file mode 100644
index 0000000000..6cf47cbd0d
--- /dev/null
+++ b/ghc/lib/prelude/TyArray_mc.hi
@@ -0,0 +1,10 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeArray where
+import PreludeBuiltin(Tuple2)
+import PreludeCore(_CCallable(..))
+data Array a b = _Array (a, a) (Array# b)
+data Assoc a b = (:=) a b
+data _ByteArray a = _ByteArray (a, a) ByteArray#
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/TyArray_mg.hi b/ghc/lib/prelude/TyArray_mg.hi
new file mode 100644
index 0000000000..6cf47cbd0d
--- /dev/null
+++ b/ghc/lib/prelude/TyArray_mg.hi
@@ -0,0 +1,10 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeArray where
+import PreludeBuiltin(Tuple2)
+import PreludeCore(_CCallable(..))
+data Array a b = _Array (a, a) (Array# b)
+data Assoc a b = (:=) a b
+data _ByteArray a = _ByteArray (a, a) ByteArray#
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/TyArray_mp.hi b/ghc/lib/prelude/TyArray_mp.hi
new file mode 100644
index 0000000000..6cf47cbd0d
--- /dev/null
+++ b/ghc/lib/prelude/TyArray_mp.hi
@@ -0,0 +1,10 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeArray where
+import PreludeBuiltin(Tuple2)
+import PreludeCore(_CCallable(..))
+data Array a b = _Array (a, a) (Array# b)
+data Assoc a b = (:=) a b
+data _ByteArray a = _ByteArray (a, a) ByteArray#
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/TyArray_mr.hi b/ghc/lib/prelude/TyArray_mr.hi
new file mode 100644
index 0000000000..6cf47cbd0d
--- /dev/null
+++ b/ghc/lib/prelude/TyArray_mr.hi
@@ -0,0 +1,10 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeArray where
+import PreludeBuiltin(Tuple2)
+import PreludeCore(_CCallable(..))
+data Array a b = _Array (a, a) (Array# b)
+data Assoc a b = (:=) a b
+data _ByteArray a = _ByteArray (a, a) ByteArray#
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/TyArray_mt.hi b/ghc/lib/prelude/TyArray_mt.hi
new file mode 100644
index 0000000000..6cf47cbd0d
--- /dev/null
+++ b/ghc/lib/prelude/TyArray_mt.hi
@@ -0,0 +1,10 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeArray where
+import PreludeBuiltin(Tuple2)
+import PreludeCore(_CCallable(..))
+data Array a b = _Array (a, a) (Array# b)
+data Assoc a b = (:=) a b
+data _ByteArray a = _ByteArray (a, a) ByteArray#
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/TyArray_p.hi b/ghc/lib/prelude/TyArray_p.hi
new file mode 100644
index 0000000000..6cf47cbd0d
--- /dev/null
+++ b/ghc/lib/prelude/TyArray_p.hi
@@ -0,0 +1,10 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeArray where
+import PreludeBuiltin(Tuple2)
+import PreludeCore(_CCallable(..))
+data Array a b = _Array (a, a) (Array# b)
+data Assoc a b = (:=) a b
+data _ByteArray a = _ByteArray (a, a) ByteArray#
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/TyArray_t.hi b/ghc/lib/prelude/TyArray_t.hi
new file mode 100644
index 0000000000..6cf47cbd0d
--- /dev/null
+++ b/ghc/lib/prelude/TyArray_t.hi
@@ -0,0 +1,10 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeArray where
+import PreludeBuiltin(Tuple2)
+import PreludeCore(_CCallable(..))
+data Array a b = _Array (a, a) (Array# b)
+data Assoc a b = (:=) a b
+data _ByteArray a = _ByteArray (a, a) ByteArray#
+instance _CCallable (_ByteArray a)
+ {-# GHC_PRAGMA _M_ PreludeArray {-dfun-} _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _TUP_0 [] [] _N_ #-}
+
diff --git a/ghc/lib/prelude/TyBool.hs b/ghc/lib/prelude/TyBool.hs
new file mode 100644
index 0000000000..01fa726267
--- /dev/null
+++ b/ghc/lib/prelude/TyBool.hs
@@ -0,0 +1,5 @@
+module PreludeCore where
+
+-- *** context missing ***
+data Bool = False | True
+ deriving () -- NB
diff --git a/ghc/lib/prelude/TyComplex.hi b/ghc/lib/prelude/TyComplex.hi
new file mode 100644
index 0000000000..8c2710f48f
--- /dev/null
+++ b/ghc/lib/prelude/TyComplex.hi
@@ -0,0 +1,4 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeComplex where
+data Complex a = (:+) a a
+
diff --git a/ghc/lib/prelude/TyComplex.hs b/ghc/lib/prelude/TyComplex.hs
new file mode 100644
index 0000000000..b1a91caafc
--- /dev/null
+++ b/ghc/lib/prelude/TyComplex.hs
@@ -0,0 +1,10 @@
+module PreludeComplex ( Complex(..) ) where
+
+-- infix 6 :+
+
+data {- (RealFloat a) => -} Complex a = a :+ a deriving () -- (Eq,{-ToDo:Binary,-}Text)
+
+-- (NB: compiler's builtin idea of "data Complex ..." must also
+-- omit the context!)
+
+-- {-# SPECIALIZE data Complex Double# #-}
diff --git a/ghc/lib/prelude/TyComplex_mc.hi b/ghc/lib/prelude/TyComplex_mc.hi
new file mode 100644
index 0000000000..8c2710f48f
--- /dev/null
+++ b/ghc/lib/prelude/TyComplex_mc.hi
@@ -0,0 +1,4 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeComplex where
+data Complex a = (:+) a a
+
diff --git a/ghc/lib/prelude/TyComplex_mg.hi b/ghc/lib/prelude/TyComplex_mg.hi
new file mode 100644
index 0000000000..8c2710f48f
--- /dev/null
+++ b/ghc/lib/prelude/TyComplex_mg.hi
@@ -0,0 +1,4 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeComplex where
+data Complex a = (:+) a a
+
diff --git a/ghc/lib/prelude/TyComplex_mp.hi b/ghc/lib/prelude/TyComplex_mp.hi
new file mode 100644
index 0000000000..8c2710f48f
--- /dev/null
+++ b/ghc/lib/prelude/TyComplex_mp.hi
@@ -0,0 +1,4 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeComplex where
+data Complex a = (:+) a a
+
diff --git a/ghc/lib/prelude/TyComplex_mr.hi b/ghc/lib/prelude/TyComplex_mr.hi
new file mode 100644
index 0000000000..8c2710f48f
--- /dev/null
+++ b/ghc/lib/prelude/TyComplex_mr.hi
@@ -0,0 +1,4 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeComplex where
+data Complex a = (:+) a a
+
diff --git a/ghc/lib/prelude/TyComplex_mt.hi b/ghc/lib/prelude/TyComplex_mt.hi
new file mode 100644
index 0000000000..8c2710f48f
--- /dev/null
+++ b/ghc/lib/prelude/TyComplex_mt.hi
@@ -0,0 +1,4 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeComplex where
+data Complex a = (:+) a a
+
diff --git a/ghc/lib/prelude/TyComplex_p.hi b/ghc/lib/prelude/TyComplex_p.hi
new file mode 100644
index 0000000000..8c2710f48f
--- /dev/null
+++ b/ghc/lib/prelude/TyComplex_p.hi
@@ -0,0 +1,4 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeComplex where
+data Complex a = (:+) a a
+
diff --git a/ghc/lib/prelude/TyComplex_t.hi b/ghc/lib/prelude/TyComplex_t.hi
new file mode 100644
index 0000000000..8c2710f48f
--- /dev/null
+++ b/ghc/lib/prelude/TyComplex_t.hi
@@ -0,0 +1,4 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeComplex where
+data Complex a = (:+) a a
+
diff --git a/ghc/lib/prelude/TyIO.hi b/ghc/lib/prelude/TyIO.hi
new file mode 100644
index 0000000000..c674bbe9d0
--- /dev/null
+++ b/ghc/lib/prelude/TyIO.hi
@@ -0,0 +1,15 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Bin, Char(..), Int(..), List(..))
+import PreludeCore(Bool(..))
+type BinCont = Bin -> [Response] -> [Request]
+type Dialogue = [Response] -> [Request]
+type FailCont = IOError -> [Response] -> [Request]
+data IOError = WriteError [Char] | ReadError [Char] | SearchError [Char] | FormatError [Char] | OtherError [Char] | EOD
+data Request = ReadFile [Char] | WriteFile [Char] [Char] | AppendFile [Char] [Char] | ReadBinFile [Char] | WriteBinFile [Char] Bin | AppendBinFile [Char] Bin | DeleteFile [Char] | StatusFile [Char] | ReadChan [Char] | AppendChan [Char] [Char] | ReadBinChan [Char] | AppendBinChan [Char] Bin | StatusChan [Char] | Echo Bool | GetArgs | GetProgName | GetEnv [Char] | SetEnv [Char] [Char] | SigAction Int SigAct
+data Response = Success | Str [Char] | StrList [[Char]] | Bn Bin | Failure IOError
+data SigAct = SAIgnore | SADefault | SACatch ([Response] -> [Request])
+type StrCont = [Char] -> [Response] -> [Request]
+type StrListCont = [[Char]] -> [Response] -> [Request]
+type SuccCont = [Response] -> [Request]
+
diff --git a/ghc/lib/prelude/TyIO.hs b/ghc/lib/prelude/TyIO.hs
new file mode 100644
index 0000000000..8738734acd
--- /dev/null
+++ b/ghc/lib/prelude/TyIO.hs
@@ -0,0 +1,63 @@
+module PreludeIO (
+ Request(..), Response(..), IOError(..),
+ Dialogue(..), SigAct(..),
+ SuccCont(..), StrCont(..), StrListCont(..),
+ BinCont(..), FailCont(..)
+ ) where
+
+import UTypes
+
+-- Requests and responses:
+
+data Request = -- file system requests:
+ ReadFile String
+ | WriteFile String String
+ | AppendFile String String
+ | ReadBinFile String
+ | WriteBinFile String Bin
+ | AppendBinFile String Bin
+ | DeleteFile String
+ | StatusFile String
+ -- channel system requests:
+ | ReadChan String
+ | AppendChan String String
+ | ReadBinChan String
+ | AppendBinChan String Bin
+ | StatusChan String
+ -- environment requests:
+ | Echo Bool
+ | GetArgs
+ | GetProgName
+ | GetEnv String
+ | SetEnv String String
+ | SigAction Int SigAct
+ deriving () -- NB: Text
+
+data SigAct = SAIgnore
+ | SADefault
+ | SACatch Dialogue
+
+data Response = Success
+ | Str String
+ | StrList [String]
+ | Bn Bin
+ | Failure IOError
+ deriving () -- NB: Text
+
+data IOError = WriteError String
+ | ReadError String
+ | SearchError String
+ | FormatError String
+ | OtherError String
+ | EOD -- 1.3
+ deriving () -- NB: Text
+
+
+-- Continuation-based I/O:
+
+type Dialogue = [Response] -> [Request]
+type SuccCont = Dialogue
+type StrCont = String -> Dialogue
+type StrListCont = [String] -> Dialogue
+type BinCont = Bin -> Dialogue
+type FailCont = IOError -> Dialogue
diff --git a/ghc/lib/prelude/TyIO_mc.hi b/ghc/lib/prelude/TyIO_mc.hi
new file mode 100644
index 0000000000..c674bbe9d0
--- /dev/null
+++ b/ghc/lib/prelude/TyIO_mc.hi
@@ -0,0 +1,15 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Bin, Char(..), Int(..), List(..))
+import PreludeCore(Bool(..))
+type BinCont = Bin -> [Response] -> [Request]
+type Dialogue = [Response] -> [Request]
+type FailCont = IOError -> [Response] -> [Request]
+data IOError = WriteError [Char] | ReadError [Char] | SearchError [Char] | FormatError [Char] | OtherError [Char] | EOD
+data Request = ReadFile [Char] | WriteFile [Char] [Char] | AppendFile [Char] [Char] | ReadBinFile [Char] | WriteBinFile [Char] Bin | AppendBinFile [Char] Bin | DeleteFile [Char] | StatusFile [Char] | ReadChan [Char] | AppendChan [Char] [Char] | ReadBinChan [Char] | AppendBinChan [Char] Bin | StatusChan [Char] | Echo Bool | GetArgs | GetProgName | GetEnv [Char] | SetEnv [Char] [Char] | SigAction Int SigAct
+data Response = Success | Str [Char] | StrList [[Char]] | Bn Bin | Failure IOError
+data SigAct = SAIgnore | SADefault | SACatch ([Response] -> [Request])
+type StrCont = [Char] -> [Response] -> [Request]
+type StrListCont = [[Char]] -> [Response] -> [Request]
+type SuccCont = [Response] -> [Request]
+
diff --git a/ghc/lib/prelude/TyIO_mg.hi b/ghc/lib/prelude/TyIO_mg.hi
new file mode 100644
index 0000000000..c674bbe9d0
--- /dev/null
+++ b/ghc/lib/prelude/TyIO_mg.hi
@@ -0,0 +1,15 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Bin, Char(..), Int(..), List(..))
+import PreludeCore(Bool(..))
+type BinCont = Bin -> [Response] -> [Request]
+type Dialogue = [Response] -> [Request]
+type FailCont = IOError -> [Response] -> [Request]
+data IOError = WriteError [Char] | ReadError [Char] | SearchError [Char] | FormatError [Char] | OtherError [Char] | EOD
+data Request = ReadFile [Char] | WriteFile [Char] [Char] | AppendFile [Char] [Char] | ReadBinFile [Char] | WriteBinFile [Char] Bin | AppendBinFile [Char] Bin | DeleteFile [Char] | StatusFile [Char] | ReadChan [Char] | AppendChan [Char] [Char] | ReadBinChan [Char] | AppendBinChan [Char] Bin | StatusChan [Char] | Echo Bool | GetArgs | GetProgName | GetEnv [Char] | SetEnv [Char] [Char] | SigAction Int SigAct
+data Response = Success | Str [Char] | StrList [[Char]] | Bn Bin | Failure IOError
+data SigAct = SAIgnore | SADefault | SACatch ([Response] -> [Request])
+type StrCont = [Char] -> [Response] -> [Request]
+type StrListCont = [[Char]] -> [Response] -> [Request]
+type SuccCont = [Response] -> [Request]
+
diff --git a/ghc/lib/prelude/TyIO_mp.hi b/ghc/lib/prelude/TyIO_mp.hi
new file mode 100644
index 0000000000..c674bbe9d0
--- /dev/null
+++ b/ghc/lib/prelude/TyIO_mp.hi
@@ -0,0 +1,15 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Bin, Char(..), Int(..), List(..))
+import PreludeCore(Bool(..))
+type BinCont = Bin -> [Response] -> [Request]
+type Dialogue = [Response] -> [Request]
+type FailCont = IOError -> [Response] -> [Request]
+data IOError = WriteError [Char] | ReadError [Char] | SearchError [Char] | FormatError [Char] | OtherError [Char] | EOD
+data Request = ReadFile [Char] | WriteFile [Char] [Char] | AppendFile [Char] [Char] | ReadBinFile [Char] | WriteBinFile [Char] Bin | AppendBinFile [Char] Bin | DeleteFile [Char] | StatusFile [Char] | ReadChan [Char] | AppendChan [Char] [Char] | ReadBinChan [Char] | AppendBinChan [Char] Bin | StatusChan [Char] | Echo Bool | GetArgs | GetProgName | GetEnv [Char] | SetEnv [Char] [Char] | SigAction Int SigAct
+data Response = Success | Str [Char] | StrList [[Char]] | Bn Bin | Failure IOError
+data SigAct = SAIgnore | SADefault | SACatch ([Response] -> [Request])
+type StrCont = [Char] -> [Response] -> [Request]
+type StrListCont = [[Char]] -> [Response] -> [Request]
+type SuccCont = [Response] -> [Request]
+
diff --git a/ghc/lib/prelude/TyIO_mr.hi b/ghc/lib/prelude/TyIO_mr.hi
new file mode 100644
index 0000000000..c674bbe9d0
--- /dev/null
+++ b/ghc/lib/prelude/TyIO_mr.hi
@@ -0,0 +1,15 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Bin, Char(..), Int(..), List(..))
+import PreludeCore(Bool(..))
+type BinCont = Bin -> [Response] -> [Request]
+type Dialogue = [Response] -> [Request]
+type FailCont = IOError -> [Response] -> [Request]
+data IOError = WriteError [Char] | ReadError [Char] | SearchError [Char] | FormatError [Char] | OtherError [Char] | EOD
+data Request = ReadFile [Char] | WriteFile [Char] [Char] | AppendFile [Char] [Char] | ReadBinFile [Char] | WriteBinFile [Char] Bin | AppendBinFile [Char] Bin | DeleteFile [Char] | StatusFile [Char] | ReadChan [Char] | AppendChan [Char] [Char] | ReadBinChan [Char] | AppendBinChan [Char] Bin | StatusChan [Char] | Echo Bool | GetArgs | GetProgName | GetEnv [Char] | SetEnv [Char] [Char] | SigAction Int SigAct
+data Response = Success | Str [Char] | StrList [[Char]] | Bn Bin | Failure IOError
+data SigAct = SAIgnore | SADefault | SACatch ([Response] -> [Request])
+type StrCont = [Char] -> [Response] -> [Request]
+type StrListCont = [[Char]] -> [Response] -> [Request]
+type SuccCont = [Response] -> [Request]
+
diff --git a/ghc/lib/prelude/TyIO_mt.hi b/ghc/lib/prelude/TyIO_mt.hi
new file mode 100644
index 0000000000..c674bbe9d0
--- /dev/null
+++ b/ghc/lib/prelude/TyIO_mt.hi
@@ -0,0 +1,15 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Bin, Char(..), Int(..), List(..))
+import PreludeCore(Bool(..))
+type BinCont = Bin -> [Response] -> [Request]
+type Dialogue = [Response] -> [Request]
+type FailCont = IOError -> [Response] -> [Request]
+data IOError = WriteError [Char] | ReadError [Char] | SearchError [Char] | FormatError [Char] | OtherError [Char] | EOD
+data Request = ReadFile [Char] | WriteFile [Char] [Char] | AppendFile [Char] [Char] | ReadBinFile [Char] | WriteBinFile [Char] Bin | AppendBinFile [Char] Bin | DeleteFile [Char] | StatusFile [Char] | ReadChan [Char] | AppendChan [Char] [Char] | ReadBinChan [Char] | AppendBinChan [Char] Bin | StatusChan [Char] | Echo Bool | GetArgs | GetProgName | GetEnv [Char] | SetEnv [Char] [Char] | SigAction Int SigAct
+data Response = Success | Str [Char] | StrList [[Char]] | Bn Bin | Failure IOError
+data SigAct = SAIgnore | SADefault | SACatch ([Response] -> [Request])
+type StrCont = [Char] -> [Response] -> [Request]
+type StrListCont = [[Char]] -> [Response] -> [Request]
+type SuccCont = [Response] -> [Request]
+
diff --git a/ghc/lib/prelude/TyIO_p.hi b/ghc/lib/prelude/TyIO_p.hi
new file mode 100644
index 0000000000..c674bbe9d0
--- /dev/null
+++ b/ghc/lib/prelude/TyIO_p.hi
@@ -0,0 +1,15 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Bin, Char(..), Int(..), List(..))
+import PreludeCore(Bool(..))
+type BinCont = Bin -> [Response] -> [Request]
+type Dialogue = [Response] -> [Request]
+type FailCont = IOError -> [Response] -> [Request]
+data IOError = WriteError [Char] | ReadError [Char] | SearchError [Char] | FormatError [Char] | OtherError [Char] | EOD
+data Request = ReadFile [Char] | WriteFile [Char] [Char] | AppendFile [Char] [Char] | ReadBinFile [Char] | WriteBinFile [Char] Bin | AppendBinFile [Char] Bin | DeleteFile [Char] | StatusFile [Char] | ReadChan [Char] | AppendChan [Char] [Char] | ReadBinChan [Char] | AppendBinChan [Char] Bin | StatusChan [Char] | Echo Bool | GetArgs | GetProgName | GetEnv [Char] | SetEnv [Char] [Char] | SigAction Int SigAct
+data Response = Success | Str [Char] | StrList [[Char]] | Bn Bin | Failure IOError
+data SigAct = SAIgnore | SADefault | SACatch ([Response] -> [Request])
+type StrCont = [Char] -> [Response] -> [Request]
+type StrListCont = [[Char]] -> [Response] -> [Request]
+type SuccCont = [Response] -> [Request]
+
diff --git a/ghc/lib/prelude/TyIO_t.hi b/ghc/lib/prelude/TyIO_t.hi
new file mode 100644
index 0000000000..c674bbe9d0
--- /dev/null
+++ b/ghc/lib/prelude/TyIO_t.hi
@@ -0,0 +1,15 @@
+{-# GHC_PRAGMA INTERFACE VERSION 5 #-}
+interface PreludeIO where
+import PreludeBuiltin(Bin, Char(..), Int(..), List(..))
+import PreludeCore(Bool(..))
+type BinCont = Bin -> [Response] -> [Request]
+type Dialogue = [Response] -> [Request]
+type FailCont = IOError -> [Response] -> [Request]
+data IOError = WriteError [Char] | ReadError [Char] | SearchError [Char] | FormatError [Char] | OtherError [Char] | EOD
+data Request = ReadFile [Char] | WriteFile [Char] [Char] | AppendFile [Char] [Char] | ReadBinFile [Char] | WriteBinFile [Char] Bin | AppendBinFile [Char] Bin | DeleteFile [Char] | StatusFile [Char] | ReadChan [Char] | AppendChan [Char] [Char] | ReadBinChan [Char] | AppendBinChan [Char] Bin | StatusChan [Char] | Echo Bool | GetArgs | GetProgName | GetEnv [Char] | SetEnv [Char] [Char] | SigAction Int SigAct
+data Response = Success | Str [Char] | StrList [[Char]] | Bn Bin | Failure IOError
+data SigAct = SAIgnore | SADefault | SACatch ([Response] -> [Request])
+type StrCont = [Char] -> [Response] -> [Request]
+type StrListCont = [[Char]] -> [Response] -> [Request]
+type SuccCont = [Response] -> [Request]
+
diff --git a/ghc/lib/prelude/TyRatio.hs b/ghc/lib/prelude/TyRatio.hs
new file mode 100644
index 0000000000..bb551aada4
--- /dev/null
+++ b/ghc/lib/prelude/TyRatio.hs
@@ -0,0 +1,10 @@
+module PreludeRatio where
+
+-- *** context missing ***
+-- (NB: compiler's builtin idea of "data Ratio ..." must also
+-- omit the context!)
+data Ratio a = a :% a
+ deriving () -- NB ***
+
+-- ToDo: Ratio Int# ???
+-- {-# SPECIALIZE data a{Int#} :: Ratio a #-}
diff --git a/ghc/lib/prelude/TysBasic.hs b/ghc/lib/prelude/TysBasic.hs
new file mode 100644
index 0000000000..6ccc7c9ac8
--- /dev/null
+++ b/ghc/lib/prelude/TysBasic.hs
@@ -0,0 +1,204 @@
+module PreludeBuiltin (
+ Char(..),
+ Int(..),
+ _Word(..),
+ _Addr(..),
+ Float(..),
+ Double(..),
+ _State(..),
+ _MallocPtr(..),
+ Integer(..),
+ _Return2GMPs(..),
+ _ReturnIntAndGMP(..),
+ StateAndPtr#(..),
+ StateAndChar#(..),
+ StateAndInt#(..),
+ StateAndWord#(..),
+ StateAndFloat#(..),
+ StateAndDouble#(..),
+ StateAndAddr#(..),
+ StateAndMallocPtr#(..),
+ StateAndArray#(..),
+ StateAndMutableArray#(..),
+ StateAndByteArray#(..),
+ StateAndMutableByteArray#(..),
+ StateAndSynchVar#(..),
+#ifndef __PARALLEL_HASKELL__
+ _StablePtr(..),
+ StateAndStablePtr#(..),
+#endif
+ _CMP_TAG(..),
+ List(..),
+ Tuple0(..),
+ Tuple2(..),
+ Tuple3(..),
+ Tuple4(..),
+ Tuple5(..),
+ Tuple6(..),
+ Tuple7(..),
+ Tuple8(..),
+ Tuple9(..),
+ Tuple10(..),
+ Tuple11(..),
+ Tuple12(..),
+ Tuple13(..),
+ Tuple14(..),
+ Tuple15(..),
+ Tuple16(..),
+ Tuple17(..),
+ Tuple18(..),
+ Tuple19(..),
+ Tuple20(..),
+ Tuple21(..),
+ Tuple22(..),
+ Tuple23(..),
+ Tuple24(..),
+ Tuple25(..),
+ Tuple26(..),
+ Tuple27(..),
+ Tuple28(..),
+ Tuple29(..),
+ Tuple30(..),
+ Tuple31(..),
+ Tuple32(..),
+ Bin(..),
+ _Lift(..)
+ ) where
+
+-- *********
+-- This follows the organisation of compiler/prelude/TysWiredIn.lhs
+-- (which follows the state-interface.verb document).
+-- *********
+
+-- instances are all done carefully, by hand (in the prelude/I*.hs files)
+
+----------------------------------------------------
+
+data Char = C# Char#
+data Int = I# Int#
+data _Word = W# Word#
+data _Addr = A# Addr#
+data Float = F# Float#
+data Double = D# Double#
+
+data _State a = S# (State# a)
+
+----------------------------------------------------
+
+-- Array is from PreludeArray & so can't be defined here.
+-- _ByteArray, _MutableArray & _MutableByteArray are from PreludeGlaArray ...
+
+data _MallocPtr = _MallocPtr MallocPtr#
+#ifndef __PARALLEL_HASKELL__
+data _StablePtr a = _StablePtr (StablePtr# a)
+#endif
+
+----------------------------------------------------
+
+data Integer = J# Int# Int# ByteArray#
+ -- corresponds to GNU multi-prec arith pkg rep
+
+-- Old:
+-- Oddly enough, the Return<blah>GMP<blah> don't need definitions,
+-- because they are only used in "returning" (and so are never
+-- actually built).
+-- New:
+-- Unless you want to write your own code using the Integer primops
+-- -- at which point it becomes essential to have these types. ADR
+
+data _Return2GMPs = _Return2GMPs Int# Int# ByteArray# Int# Int# ByteArray#
+data _ReturnIntAndGMP = _ReturnIntAndGMP Int# Int# Int# ByteArray#
+
+----------------------------------------------------
+
+data StateAndPtr# s elt = StateAndPtr# (State# s) elt
+
+data StateAndChar# s = StateAndChar# (State# s) Char#
+data StateAndInt# s = StateAndInt# (State# s) Int#
+data StateAndWord# s = StateAndWord# (State# s) Word#
+data StateAndFloat# s = StateAndFloat# (State# s) Float#
+data StateAndDouble# s = StateAndDouble# (State# s) Double#
+data StateAndAddr# s = StateAndAddr# (State# s) Addr#
+
+#ifndef __PARALLEL_HASKELL__
+data StateAndStablePtr# s a = StateAndStablePtr# (State# s) (StablePtr# a)
+#endif
+data StateAndMallocPtr# s = StateAndMallocPtr# (State# s) MallocPtr#
+
+data StateAndArray# s elt = StateAndArray# (State# s) (Array# elt)
+data StateAndMutableArray# s elt = StateAndMutableArray# (State# s) (MutableArray# s elt)
+data StateAndByteArray# s = StateAndByteArray# (State# s) ByteArray#
+data StateAndMutableByteArray# s = StateAndMutableByteArray# (State# s) (MutableByteArray# s)
+
+data StateAndSynchVar# s elt = StateAndSynchVar# (State# s) (SynchVar# s elt)
+
+----------------------------------------------------
+-- Bool: is from PreludeCore
+
+data _CMP_TAG = _LT | _EQ | _GT -- for derived comparisons
+
+----------------------------------------------------
+
+data List a = Nil | a : (List a)
+
+----------------------------------------------------
+
+data Tuple0 = Tup0
+data Tuple2 a b = Tup2 a b
+data Tuple3 a b c = Tup3 a b c
+data Tuple4 a b c d = Tup4 a b c d
+data Tuple5 a b c d e = Tup5 a b c d e
+data Tuple6 a b c d e f = Tup6 a b c d e f
+data Tuple7 a b c d e f g = Tup7 a b c d e f g
+data Tuple8 a b c d e f g h = Tup8 a b c d e f g h
+data Tuple9 a b c d e f g h i = Tup9 a b c d e f g h i
+data Tuple10 a b c d e f g h i j = Tup10 a b c d e f g h i j
+data Tuple11 a b c d e f g h i j k = Tup11 a b c d e f g h i j k
+data Tuple12 a b c d e f g h i j k l = Tup12 a b c d e f g h i j k l
+data Tuple13 a b c d e f g h i j k l m = Tup13 a b c d e f g h i j k l m
+data Tuple14 a b c d e f g h i j k l m n = Tup14 a b c d e f g h i j k l m n
+data Tuple15 a b c d e f g h i j k l m n o = Tup15 a b c d e f g h i j k l m n o
+data Tuple16 a b c d e f g h i j k l m n o p = Tup16 a b c d e f g h i j k l m n o p
+data Tuple17 a b c d e f g h i j k l m n o p q
+ = Tup17 a b c d e f g h i j k l m n o p q
+data Tuple18 a b c d e f g h i j k l m n o p q r
+ = Tup18 a b c d e f g h i j k l m n o p q r
+data Tuple19 a b c d e f g h i j k l m n o p q r s
+ = Tup19 a b c d e f g h i j k l m n o p q r s
+data Tuple20 a b c d e f g h i j k l m n o p q r s t
+ = Tup20 a b c d e f g h i j k l m n o p q r s t
+data Tuple21 a b c d e f g h i j k l m n o p q r s t u
+ = Tup21 a b c d e f g h i j k l m n o p q r s t u
+data Tuple22 a b c d e f g h i j k l m n o p q r s t u v
+ = Tup22 a b c d e f g h i j k l m n o p q r s t u v
+data Tuple23 a b c d e f g h i j k l m n o p q r s t u v w
+ = Tup23 a b c d e f g h i j k l m n o p q r s t u v w
+data Tuple24 a b c d e f g h i j k l m n o p q r s t u v w x
+ = Tup24 a b c d e f g h i j k l m n o p q r s t u v w x
+data Tuple25 a b c d e f g h i j k l m n o p q r s t u v w x y
+ = Tup25 a b c d e f g h i j k l m n o p q r s t u v w x y
+data Tuple26 a b c d e f g h i j k l m n o p q r s t u v w x y z
+ = Tup26 a b c d e f g h i j k l m n o p q r s t u v w x y z
+data Tuple27 a b c d e f g h i j k l m n o p q r s t u v w x y z a_
+ = Tup27 a b c d e f g h i j k l m n o p q r s t u v w x y z a_
+data Tuple28 a b c d e f g h i j k l m n o p q r s t u v w x y z a_ b_
+ = Tup28 a b c d e f g h i j k l m n o p q r s t u v w x y z a_ b_
+data Tuple29 a b c d e f g h i j k l m n o p q r s t u v w x y z a_ b_ c_
+ = Tup29 a b c d e f g h i j k l m n o p q r s t u v w x y z a_ b_ c_
+data Tuple30 a b c d e f g h i j k l m n o p q r s t u v w x y z a_ b_ c_ d_
+ = Tup30 a b c d e f g h i j k l m n o p q r s t u v w x y z a_ b_ c_ d_
+data Tuple31 a b c d e f g h i j k l m n o p q r s t u v w x y z a_ b_ c_ d_ e_
+ = Tup31 a b c d e f g h i j k l m n o p q r s t u v w x y z a_ b_ c_ d_ e_
+data Tuple32 a b c d e f g h i j k l m n o p q r s t u v w x y z a_ b_ c_ d_ e_ f_
+ = Tup32 a b c d e f g h i j k l m n o p q r s t u v w x y z a_ b_ c_ d_ e_ f_
+
+----------------------------------------------------
+-- Ratio: in PreludeRatio
+
+data Bin = Bin_____________ -- placeholder only
+
+-- IO things: in PreludeIO
+
+--{-# SPECIALIZE data _Lift (State# _RealWorld) #-}
+
+data _Lift a = _Lift a
diff --git a/ghc/lib/prelude/UTypes.hi b/ghc/lib/prelude/UTypes.hi
new file mode 100644
index 0000000000..f22d7d3337
--- /dev/null
+++ b/ghc/lib/prelude/UTypes.hi
@@ -0,0 +1,9 @@
+interface PreludeBuiltin where
+
+import PreludeCore( String(..) )
+import PreludeRatio( Ratio, Rational(..) )
+
+data Bin
+type String = [Char]
+
+type Rational = Ratio Integer
diff --git a/ghc/lib/prelude/UTypes_1s.hi b/ghc/lib/prelude/UTypes_1s.hi
new file mode 100644
index 0000000000..f22d7d3337
--- /dev/null
+++ b/ghc/lib/prelude/UTypes_1s.hi
@@ -0,0 +1,9 @@
+interface PreludeBuiltin where
+
+import PreludeCore( String(..) )
+import PreludeRatio( Ratio, Rational(..) )
+
+data Bin
+type String = [Char]
+
+type Rational = Ratio Integer
diff --git a/ghc/lib/prelude/UTypes_2s.hi b/ghc/lib/prelude/UTypes_2s.hi
new file mode 100644
index 0000000000..f22d7d3337
--- /dev/null
+++ b/ghc/lib/prelude/UTypes_2s.hi
@@ -0,0 +1,9 @@
+interface PreludeBuiltin where
+
+import PreludeCore( String(..) )
+import PreludeRatio( Ratio, Rational(..) )
+
+data Bin
+type String = [Char]
+
+type Rational = Ratio Integer
diff --git a/ghc/lib/prelude/UTypes_du.hi b/ghc/lib/prelude/UTypes_du.hi
new file mode 100644
index 0000000000..f22d7d3337
--- /dev/null
+++ b/ghc/lib/prelude/UTypes_du.hi
@@ -0,0 +1,9 @@
+interface PreludeBuiltin where
+
+import PreludeCore( String(..) )
+import PreludeRatio( Ratio, Rational(..) )
+
+data Bin
+type String = [Char]
+
+type Rational = Ratio Integer
diff --git a/ghc/lib/prelude/UTypes_i.hi b/ghc/lib/prelude/UTypes_i.hi
new file mode 100644
index 0000000000..f22d7d3337
--- /dev/null
+++ b/ghc/lib/prelude/UTypes_i.hi
@@ -0,0 +1,9 @@
+interface PreludeBuiltin where
+
+import PreludeCore( String(..) )
+import PreludeRatio( Ratio, Rational(..) )
+
+data Bin
+type String = [Char]
+
+type Rational = Ratio Integer
diff --git a/ghc/lib/prelude/UTypes_j.hi b/ghc/lib/prelude/UTypes_j.hi
new file mode 100644
index 0000000000..f22d7d3337
--- /dev/null
+++ b/ghc/lib/prelude/UTypes_j.hi
@@ -0,0 +1,9 @@
+interface PreludeBuiltin where
+
+import PreludeCore( String(..) )
+import PreludeRatio( Ratio, Rational(..) )
+
+data Bin
+type String = [Char]
+
+type Rational = Ratio Integer
diff --git a/ghc/lib/prelude/UTypes_k.hi b/ghc/lib/prelude/UTypes_k.hi
new file mode 100644
index 0000000000..f22d7d3337
--- /dev/null
+++ b/ghc/lib/prelude/UTypes_k.hi
@@ -0,0 +1,9 @@
+interface PreludeBuiltin where
+
+import PreludeCore( String(..) )
+import PreludeRatio( Ratio, Rational(..) )
+
+data Bin
+type String = [Char]
+
+type Rational = Ratio Integer
diff --git a/ghc/lib/prelude/UTypes_l.hi b/ghc/lib/prelude/UTypes_l.hi
new file mode 100644
index 0000000000..f22d7d3337
--- /dev/null
+++ b/ghc/lib/prelude/UTypes_l.hi
@@ -0,0 +1,9 @@
+interface PreludeBuiltin where
+
+import PreludeCore( String(..) )
+import PreludeRatio( Ratio, Rational(..) )
+
+data Bin
+type String = [Char]
+
+type Rational = Ratio Integer
diff --git a/ghc/lib/prelude/UTypes_m.hi b/ghc/lib/prelude/UTypes_m.hi
new file mode 100644
index 0000000000..f22d7d3337
--- /dev/null
+++ b/ghc/lib/prelude/UTypes_m.hi
@@ -0,0 +1,9 @@
+interface PreludeBuiltin where
+
+import PreludeCore( String(..) )
+import PreludeRatio( Ratio, Rational(..) )
+
+data Bin
+type String = [Char]
+
+type Rational = Ratio Integer
diff --git a/ghc/lib/prelude/UTypes_mc.hi b/ghc/lib/prelude/UTypes_mc.hi
new file mode 100644
index 0000000000..f22d7d3337
--- /dev/null
+++ b/ghc/lib/prelude/UTypes_mc.hi
@@ -0,0 +1,9 @@
+interface PreludeBuiltin where
+
+import PreludeCore( String(..) )
+import PreludeRatio( Ratio, Rational(..) )
+
+data Bin
+type String = [Char]
+
+type Rational = Ratio Integer
diff --git a/ghc/lib/prelude/UTypes_mg.hi b/ghc/lib/prelude/UTypes_mg.hi
new file mode 100644
index 0000000000..f22d7d3337
--- /dev/null
+++ b/ghc/lib/prelude/UTypes_mg.hi
@@ -0,0 +1,9 @@
+interface PreludeBuiltin where
+
+import PreludeCore( String(..) )
+import PreludeRatio( Ratio, Rational(..) )
+
+data Bin
+type String = [Char]
+
+type Rational = Ratio Integer
diff --git a/ghc/lib/prelude/UTypes_mp.hi b/ghc/lib/prelude/UTypes_mp.hi
new file mode 100644
index 0000000000..f22d7d3337
--- /dev/null
+++ b/ghc/lib/prelude/UTypes_mp.hi
@@ -0,0 +1,9 @@
+interface PreludeBuiltin where
+
+import PreludeCore( String(..) )
+import PreludeRatio( Ratio, Rational(..) )
+
+data Bin
+type String = [Char]
+
+type Rational = Ratio Integer
diff --git a/ghc/lib/prelude/UTypes_mr.hi b/ghc/lib/prelude/UTypes_mr.hi
new file mode 100644
index 0000000000..f22d7d3337
--- /dev/null
+++ b/ghc/lib/prelude/UTypes_mr.hi
@@ -0,0 +1,9 @@
+interface PreludeBuiltin where
+
+import PreludeCore( String(..) )
+import PreludeRatio( Ratio, Rational(..) )
+
+data Bin
+type String = [Char]
+
+type Rational = Ratio Integer
diff --git a/ghc/lib/prelude/UTypes_mt.hi b/ghc/lib/prelude/UTypes_mt.hi
new file mode 100644
index 0000000000..f22d7d3337
--- /dev/null
+++ b/ghc/lib/prelude/UTypes_mt.hi
@@ -0,0 +1,9 @@
+interface PreludeBuiltin where
+
+import PreludeCore( String(..) )
+import PreludeRatio( Ratio, Rational(..) )
+
+data Bin
+type String = [Char]
+
+type Rational = Ratio Integer
diff --git a/ghc/lib/prelude/UTypes_n.hi b/ghc/lib/prelude/UTypes_n.hi
new file mode 100644
index 0000000000..f22d7d3337
--- /dev/null
+++ b/ghc/lib/prelude/UTypes_n.hi
@@ -0,0 +1,9 @@
+interface PreludeBuiltin where
+
+import PreludeCore( String(..) )
+import PreludeRatio( Ratio, Rational(..) )
+
+data Bin
+type String = [Char]
+
+type Rational = Ratio Integer
diff --git a/ghc/lib/prelude/UTypes_o.hi b/ghc/lib/prelude/UTypes_o.hi
new file mode 100644
index 0000000000..f22d7d3337
--- /dev/null
+++ b/ghc/lib/prelude/UTypes_o.hi
@@ -0,0 +1,9 @@
+interface PreludeBuiltin where
+
+import PreludeCore( String(..) )
+import PreludeRatio( Ratio, Rational(..) )
+
+data Bin
+type String = [Char]
+
+type Rational = Ratio Integer
diff --git a/ghc/lib/prelude/UTypes_p.hi b/ghc/lib/prelude/UTypes_p.hi
new file mode 100644
index 0000000000..f22d7d3337
--- /dev/null
+++ b/ghc/lib/prelude/UTypes_p.hi
@@ -0,0 +1,9 @@
+interface PreludeBuiltin where
+
+import PreludeCore( String(..) )
+import PreludeRatio( Ratio, Rational(..) )
+
+data Bin
+type String = [Char]
+
+type Rational = Ratio Integer
diff --git a/ghc/lib/prelude/UTypes_t.hi b/ghc/lib/prelude/UTypes_t.hi
new file mode 100644
index 0000000000..f22d7d3337
--- /dev/null
+++ b/ghc/lib/prelude/UTypes_t.hi
@@ -0,0 +1,9 @@
+interface PreludeBuiltin where
+
+import PreludeCore( String(..) )
+import PreludeRatio( Ratio, Rational(..) )
+
+data Bin
+type String = [Char]
+
+type Rational = Ratio Integer