Preprocessing executables for storablevector-profile-0.2...
Building storablevector-profile-0.2...

==================== Tidy Core ====================
Main.$p1Fraction :: forall a_a1KG.
                    (Main.Fraction a_a1KG) =>
                    GHC.Num.Num a_a1KG
GblId[ClassOp]
[Arity 1
 NoCafRefs
 Str: DmdType U(SAA)]
Main.$p1Fraction =
  \ (@ a_a1KG)
    (tpl_B1 [ALWAYS Once! Nothing] :: Main.Fraction a_a1KG) ->
    case tpl_B1
    of _ { Main.D:Fraction tpl_B2 [ALWAYS Once Nothing] _ _ ->
    tpl_B2
    }

Main.$p2Fraction :: forall a_a1KG.
                    (Main.Fraction a_a1KG) =>
                    GHC.Classes.Ord a_a1KG
GblId[ClassOp]
[Arity 1
 NoCafRefs
 Str: DmdType U(ASA)]
Main.$p2Fraction =
  \ (@ a_a1KG)
    (tpl_B1 [ALWAYS Once! Nothing] :: Main.Fraction a_a1KG) ->
    case tpl_B1
    of _ { Main.D:Fraction _ tpl_B3 [ALWAYS Once Nothing] _ ->
    tpl_B3
    }

Main.fraction :: forall a_a1KG.
                 (Main.Fraction a_a1KG) =>
                 a_a1KG -> a_a1KG
GblId[ClassOp]
[Arity 1
 NoCafRefs
 Str: DmdType U(AAS)]
Main.fraction =
  \ (@ a_a1KG)
    (tpl_B1 [ALWAYS Once! Nothing] :: Main.Fraction a_a1KG) ->
    case tpl_B1
    of _ { Main.D:Fraction _ _ tpl_B4 [ALWAYS Once Nothing] ->
    tpl_B4
    }

Main.main3 :: GHC.Types.Int
GblId
[NoCafRefs]
Main.main3 = GHC.Types.I# 23

Rec {
Main.$wa :: GHC.Prim.Int#
            -> GHC.Prim.Addr#
            -> GHC.Prim.State# GHC.Prim.RealWorld
            -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
GblId
[Arity 3
 NoCafRefs
 Str: DmdType LLL]
Main.$wa =
  \ (ww_s2Jl :: GHC.Prim.Int#)
    (ww1_s2Jp :: GHC.Prim.Addr#)
    (w_s2Jr :: GHC.Prim.State# GHC.Prim.RealWorld) ->
    case ww_s2Jl of wild_XL {
      __DEFAULT ->
        case GHC.Prim.writeIntOffAddr#
               @ GHC.Prim.RealWorld ww1_s2Jp 0 42 w_s2Jr
        of s2_i2zk { __DEFAULT ->
        Main.$wa
          (GHC.Prim.-# wild_XL 1) (GHC.Prim.plusAddr# ww1_s2Jp 4) s2_i2zk
        };
      0 -> (# w_s2Jr, GHC.Unit.() #)
    }
end Rec }

Main.main4 :: GHC.Prim.State# GHC.Prim.RealWorld
              -> (# GHC.Prim.State# GHC.Prim.RealWorld,
                    Data.StorableVector.Base.Vector GHC.Types.Int #)
GblId
[Arity 1
 NoCafRefs]
Main.main4 =
  \ (eta_i2wc :: GHC.Prim.State# GHC.Prim.RealWorld) ->
    case GHC.Prim.noDuplicate# eta_i2wc of s'_i2wd { __DEFAULT ->
    case GHC.Prim.newMutVar#
           @ (GHC.ForeignPtr.Finalizers, [GHC.Types.IO ()])
           @ GHC.Prim.RealWorld
           GHC.ForeignPtr.mallocForeignPtr2
           s'_i2wd
    of _ { (# s2#_i2wR, var#_i2wS #) ->
    case GHC.Prim.newPinnedByteArray#
           @ GHC.Prim.RealWorld 40000000 s2#_i2wR
    of _ { (# s'1_i2wW, mbarr#_i2wX #) ->
    let {
      a2_i2wZ [ALWAYS Just L] :: GHC.Prim.Addr#
      LclId
      [Str: DmdType]
      a2_i2wZ =
        GHC.Prim.byteArrayContents#
          (mbarr#_i2wX
           `cast` (CoUnsafe
                     (GHC.Prim.MutableByteArray# GHC.Prim.RealWorld) GHC.Prim.ByteArray#
                   :: GHC.Prim.MutableByteArray# GHC.Prim.RealWorld
                        ~
                      GHC.Prim.ByteArray#)) } in
    case Main.$wa 10000000 a2_i2wZ s'1_i2wW
    of _ { (# new_s_i2xj, _ #) ->
    let {
      a4_s2JA :: GHC.STRef.STRef
                   GHC.Prim.RealWorld (GHC.ForeignPtr.Finalizers, [GHC.Types.IO ()])
      LclId
      [Str: DmdType m]
      a4_s2JA =
        GHC.STRef.STRef
          @ GHC.Prim.RealWorld
          @ (GHC.ForeignPtr.Finalizers, [GHC.Types.IO ()])
          var#_i2wS } in
    let {
      a5_s2JC :: GHC.ForeignPtr.ForeignPtrContents
      LclId
      [Str: DmdType]
      a5_s2JC =
        GHC.ForeignPtr.MallocPtr
          mbarr#_i2wX
          (a4_s2JA
           `cast` (trans
                     (trans
                        (sym
                           (GHC.IORef.NTCo:IORef
                              (GHC.ForeignPtr.Finalizers, [GHC.Types.IO ()])))
                        (GHC.IORef.IORef (GHC.ForeignPtr.Finalizers, [GHC.Types.IO ()])))
                     (right
                        (left
                           (trans
                              (GHC.IORef.IORef (GHC.ForeignPtr.Finalizers, [GHC.Types.IO ()])
                               -> GHC.Types.IO (GHC.ForeignPtr.ForeignPtr GHC.Types.Int))
                              (GHC.IORef.IORef (GHC.ForeignPtr.Finalizers, [GHC.Types.IO ()])
                               -> GHC.Types.NTCo:IO (GHC.ForeignPtr.ForeignPtr GHC.Types.Int)))))
                   :: GHC.STRef.STRef
                        GHC.Prim.RealWorld (GHC.ForeignPtr.Finalizers, [GHC.Types.IO ()])
                        ~
                      GHC.IORef.IORef
                        (GHC.ForeignPtr.Finalizers, [GHC.Types.IO ()]))) } in
    case GHC.Prim.touch#
           @ GHC.ForeignPtr.ForeignPtrContents a5_s2JC new_s_i2xj
    of s'11_i2xN { __DEFAULT ->
    (# s'11_i2xN,
       Data.StorableVector.Base.SV
         @ GHC.Types.Int a2_i2wZ a5_s2JC 0 10000000 #)
    }
    }
    }
    }
    }

Main.main2 :: GHC.Base.String
GblId
[]
Main.main2 =
  case GHC.IO.unsafeDupablePerformIO
         @ (Data.StorableVector.Base.Vector GHC.Types.Int)
         (Main.main4
          `cast` (sym
                    (GHC.Types.NTCo:IO (Data.StorableVector.Base.Vector GHC.Types.Int))
                  :: (GHC.Prim.State# GHC.Prim.RealWorld
                      -> (# GHC.Prim.State# GHC.Prim.RealWorld,
                            Data.StorableVector.Base.Vector GHC.Types.Int #))
                       ~
                     GHC.Types.IO (Data.StorableVector.Base.Vector GHC.Types.Int)))
  of _
  { Data.StorableVector.Base.SV rb_i2tR rb1_i2tW rb2_i2tX rb3_i2tY ->
  letrec {
    go_s2JF :: GHC.Types.Int -> GHC.Types.Int -> GHC.Types.Int
    LclId
    [Str: DmdType]
    go_s2JF =
      let {
        a_s2zF [ALWAYS Just L] :: GHC.Prim.Int#
        LclId
        [Str: DmdType]
        a_s2zF = GHC.Prim.+# rb2_i2tX rb3_i2tY } in
      \ (x_i2tH :: GHC.Types.Int) ->
        case x_i2tH of _ { GHC.Types.I# ipv_s2AX ->
        case GHC.Prim.<# ipv_s2AX a_s2zF of _ {
          GHC.Bool.False -> GHC.Base.id @ GHC.Types.Int;
          GHC.Bool.True ->
            let {
              go1_s2JJ :: GHC.Types.Int -> GHC.Types.Int
              LclId
              [Str: DmdType]
              go1_s2JJ = go_s2JF (GHC.Types.I# (GHC.Prim.+# ipv_s2AX 1)) } in
            let {
              x1_s2JH :: GHC.Types.Int
              LclId
              [Str: DmdType]
              x1_s2JH =
                case GHC.Prim.readIntOffAddr#
                       @ GHC.Prim.RealWorld rb_i2tR ipv_s2AX GHC.Prim.realWorld#
                of _ { (# s2_i2AQ, x2_i2AR #) ->
                case GHC.Prim.touch#
                       @ GHC.ForeignPtr.ForeignPtrContents rb1_i2tW s2_i2AQ
                of _ { __DEFAULT ->
                GHC.Types.I# x2_i2AR
                }
                } } in
            \ (s_a1N3 :: GHC.Types.Int) ->
              case s_a1N3 of _ { GHC.Types.I# x2_X2wD ->
              case x1_s2JH of _ { GHC.Types.I# y_X2wK ->
              go1_s2JJ
                (GHC.Types.I# (GHC.Prim.+# (GHC.Prim.+# x2_X2wD y_X2wK) 13))
              }
              }
        }
        }; } in
  case go_s2JF (GHC.Types.I# rb2_i2tX) Main.main3
  of _ { GHC.Types.I# ww_i2IB ->
  GHC.Show.$wshowSignedInt 0 ww_i2IB (GHC.Types.[] @ GHC.Types.Char)
  }
  }

Main.main1 :: GHC.Prim.State# GHC.Prim.RealWorld
              -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
GblId
[Arity 1
 Str: DmdType L]
Main.main1 =
  \ (eta_i2vC :: GHC.Prim.State# GHC.Prim.RealWorld) ->
    case GHC.IO.Handle.Text.hPutStr1
           GHC.IO.Handle.FD.stdout Main.main2 eta_i2vC
    of _ { (# new_s_i2vL, _ #) ->
    GHC.IO.Handle.Text.hPutChar1
      GHC.IO.Handle.FD.stdout System.IO.hPrint2 new_s_i2vL
    }

Main.main5 :: GHC.Prim.State# GHC.Prim.RealWorld
              -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
GblId
[Arity 1
 Str: DmdType L]
Main.main5 =
  GHC.TopHandler.runMainIO1
    @ ()
    (Main.main1
     `cast` (sym (GHC.Types.NTCo:IO ())
             :: (GHC.Prim.State# GHC.Prim.RealWorld
                 -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #))
                  ~
                GHC.Types.IO ()))

Main.main :: GHC.Types.IO ()
GblId
[Arity 1
 Str: DmdType L]
Main.main =
  Main.main1
  `cast` (sym (GHC.Types.NTCo:IO ())
          :: (GHC.Prim.State# GHC.Prim.RealWorld
              -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #))
               ~
             GHC.Types.IO ())

Main.$fFractionFloat_fraction :: GHC.Types.Float -> GHC.Types.Float
GblId
[Arity 1
 NoCafRefs
 Str: DmdType U(L)m]
Main.$fFractionFloat_fraction =
  __inline_me (\ (x_a1Os :: GHC.Types.Float) ->
                 GHC.Float.minusFloat
                   x_a1Os (GHC.Float.int2Float (GHC.Float.float2Int x_a1Os)))

Main.$fFractionFloat :: Main.Fraction GHC.Types.Float
GblId[DFunId]
[Str: DmdType m]
Main.$fFractionFloat =
  Main.D:Fraction
    @ GHC.Types.Float
    GHC.Float.$fNumFloat
    GHC.Float.$fOrdFloat
    Main.$fFractionFloat_fraction

Main.$fFractionDouble_fraction :: GHC.Types.Double
                                  -> GHC.Types.Double
GblId
[Arity 1
 NoCafRefs
 Str: DmdType U(L)m]
Main.$fFractionDouble_fraction =
  __inline_me (\ (x_a1Or :: GHC.Types.Double) ->
                 GHC.Float.minusDouble
                   x_a1Or (GHC.Float.int2Double (GHC.Float.double2Int x_a1Or)))

Main.$fFractionDouble :: Main.Fraction GHC.Types.Double
GblId[DFunId]
[Str: DmdType m]
Main.$fFractionDouble =
  Main.D:Fraction
    @ GHC.Types.Double
    GHC.Float.$fNumDouble
    GHC.Float.$fOrdDouble
    Main.$fFractionDouble_fraction

:Main.main :: GHC.Types.IO ()
GblId
[Arity 1
 Str: DmdType L]
:Main.main =
  Main.main5
  `cast` (sym (GHC.Types.NTCo:IO ())
          :: (GHC.Prim.State# GHC.Prim.RealWorld
              -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #))
               ~
             GHC.Types.IO ())




==================== Tidy Core Rules ====================



==================== Asm code ====================
.data
	.align 4
.globl Main_zdp1Fraction_closure
.type Main_zdp1Fraction_closure, @object
Main_zdp1Fraction_closure:
	.long	Main_zdp1Fraction_info
.text
	.align 4,0x90
	.long	0
	.long	34
s2LY_info:
.Lc2Md:
	movl 3(%esi),%esi
	addl $4,%ebp
	andl $-4,%esi
	jmp *(%esi)
.text
	.align 4,0x90
	.long	65541
	.long	0
	.long	15
.globl Main_zdp1Fraction_info
.type Main_zdp1Fraction_info, @object
Main_zdp1Fraction_info:
.Lc2Mh:
	movl (%ebp),%esi
	movl $s2LY_info,(%ebp)
	testl $3,%esi
	jne s2LY_info
	jmp *(%esi)
.data
	.align 4
.globl Main_zdp2Fraction_closure
.type Main_zdp2Fraction_closure, @object
Main_zdp2Fraction_closure:
	.long	Main_zdp2Fraction_info
.text
	.align 4,0x90
	.long	0
	.long	34
s2Mp_info:
.Lc2ME:
	movl 7(%esi),%esi
	addl $4,%ebp
	andl $-4,%esi
	jmp *(%esi)
.text
	.align 4,0x90
	.long	65541
	.long	0
	.long	15
.globl Main_zdp2Fraction_info
.type Main_zdp2Fraction_info, @object
Main_zdp2Fraction_info:
.Lc2MI:
	movl (%ebp),%esi
	movl $s2Mp_info,(%ebp)
	testl $3,%esi
	jne s2Mp_info
	jmp *(%esi)
.data
	.align 4
.globl Main_fraction_closure
.type Main_fraction_closure, @object
Main_fraction_closure:
	.long	Main_fraction_info
.text
	.align 4,0x90
	.long	0
	.long	34
s2MQ_info:
.Lc2N4:
	movl 11(%esi),%esi
	addl $4,%ebp
	jmp stg_ap_0_fast
.text
	.align 4,0x90
	.long	65541
	.long	0
	.long	15
.globl Main_fraction_info
.type Main_fraction_info, @object
Main_fraction_info:
.Lc2N8:
	movl (%ebp),%esi
	movl $s2MQ_info,(%ebp)
	testl $3,%esi
	jne s2MQ_info
	jmp *(%esi)
.data
	.align 4
.globl Main_main3_closure
.type Main_main3_closure, @object
Main_main3_closure:
	.long	ghczmprim_GHCziTypes_Izh_static_info
	.long	23
.data
	.align 4
.globl Main_zdwa_closure
.type Main_zdwa_closure, @object
Main_zdwa_closure:
	.long	Main_zdwa_info
.text
	.align 4,0x90
	.long	196617
	.long	0
	.long	15
.globl Main_zdwa_info
.type Main_zdwa_info, @object
Main_zdwa_info:
.Lc2Nv:
	movl (%ebp),%eax
	testl %eax,%eax
	jne .Lc2Nz
	movl $ghczmprim_GHCziUnit_Z0T_closure+1,%esi
	addl $8,%ebp
	jmp *(%ebp)
.Lc2Nz:
	movl 4(%ebp),%ecx
	movl $42,(%ecx)
	decl %eax
	addl $4,4(%ebp)
	movl %eax,(%ebp)
	jmp Main_zdwa_info
.data
	.align 4
.globl Main_main4_closure
.type Main_main4_closure, @object
Main_main4_closure:
	.long	Main_main4_info
.text
	.align 4,0x90
	.long	35
	.long	34
s2NH_info:
.Lc2Oc:
	addl $40,%edi
	cmpl 92(%ebx),%edi
	ja .Lc2Of
	movl $base_GHCziSTRef_STRef_con_info,-36(%edi)
	movl 12(%ebp),%eax
	movl %eax,-32(%edi)
	movl $base_GHCziForeignPtr_MallocPtr_con_info,-28(%edi)
	movl 8(%ebp),%eax
	movl %eax,-24(%edi)
	leal -35(%edi),%eax
	movl %eax,-20(%edi)
	movl $DataziStorableVectorziBase_SV_con_info,-16(%edi)
	leal -26(%edi),%eax
	movl %eax,-12(%edi)
	movl 4(%ebp),%eax
	movl %eax,-8(%edi)
	movl $0,-4(%edi)
	movl $10000000,(%edi)
	leal -15(%edi),%esi
	addl $16,%ebp
	jmp *(%ebp)
.Lc2Of:
	movl $40,112(%ebx)
	movl $254,32(%ebx)
	jmp stg_gc_ut
.text
	.align 4,0x90
	.long	1
	.long	34
s2NG_info:
.Lc2Oq:
	leal 8(%esi),%eax
	movl %eax,-4(%ebp)
	movl %esi,(%ebp)
	movl %eax,-12(%ebp)
	movl $10000000,-16(%ebp)
	movl $s2NH_info,-8(%ebp)
	addl $-16,%ebp
	jmp Main_zdwa_info
.text
	.align 4,0x90
	.long	0
	.long	34
s2NF_info:
.Lc2Ov:
	movl %esi,(%ebp)
	movl $40000000,%esi
	movl $s2NG_info,-4(%ebp)
	addl $-4,%ebp
	jmp stg_newPinnedByteArrayzh
.text
	.align 4,0x90
	.long	0
	.long	34
s2Ky_info:
.Lc2OA:
	movl $base_GHCziForeignPtr_mallocForeignPtr2_closure,%esi
	movl $s2NF_info,(%ebp)
	jmp stg_newMutVarzh
.text
	.align 4,0x90
	.long	65539
	.long	0
	.long	15
.globl Main_main4_info
.type Main_main4_info, @object
Main_main4_info:
.Lc2OF:
	leal -24(%ebp),%eax
	cmpl 84(%ebx),%eax
	jb .Lc2OH
	movl $s2Ky_info,-4(%ebp)
	addl $-4,%ebp
	jmp stg_noDuplicatezh
.Lc2OH:
	movl $Main_main4_closure,%esi
	jmp *-4(%ebx)
.data
	.align 4
.globl Main_main2_closure
.type Main_main2_closure, @object
Main_main2_closure:
	.long	Main_main2_info
	.long	0
	.long	0
	.long	0
.text
	.align 4,0x90
	.long	65537
	.long	20
s2Lg_info:
.Lc2Py:
	leal -12(%ebp),%eax
	cmpl 84(%ebx),%eax
	jb .Lc2PA
	addl $8,%edi
	cmpl 92(%ebx),%edi
	ja .Lc2PA
	movl $stg_upd_frame_info,-8(%ebp)
	movl %esi,-4(%ebp)
	movl 12(%esi),%eax
	incl %eax
	movl $ghczmprim_GHCziTypes_Izh_con_info,-4(%edi)
	movl %eax,(%edi)
	movl 8(%esi),%esi
	leal -3(%edi),%eax
	movl %eax,-12(%ebp)
	addl $-12,%ebp
	jmp stg_ap_p_fast
.Lc2PA:
	movl $8,112(%ebx)
	jmp *-8(%ebx)
.text
	.align 4,0x90
	.long	131073
	.long	16
s2Lq_info:
.Lc2PN:
	leal -8(%ebp),%eax
	cmpl 84(%ebx),%eax
	jb .Lc2PP
	addl $8,%edi
	cmpl 92(%ebx),%edi
	ja .Lc2PP
	movl $stg_upd_frame_info,-8(%ebp)
	movl %esi,-4(%ebp)
	movl 16(%esi),%eax
	movl 12(%esi),%ecx
	movl (%eax,%ecx,4),%eax
	movl $ghczmprim_GHCziTypes_Izh_con_info,-4(%edi)
	movl %eax,(%edi)
	leal -3(%edi),%esi
	addl $-8,%ebp
	jmp stg_upd_frame_info
.Lc2PP:
	movl $8,112(%ebx)
	jmp *-8(%ebx)
.text
	.align 4,0x90
	.long	34
	.long	34
s2OV_info:
.Lc2Qb:
	addl $8,%edi
	cmpl 92(%ebx),%edi
	ja .Lc2Qf
	movl 3(%esi),%eax
	addl $13,%eax
	movl 4(%ebp),%ecx
	addl %eax,%ecx
	movl $ghczmprim_GHCziTypes_Izh_con_info,-4(%edi)
	movl %ecx,(%edi)
	movl 8(%ebp),%esi
	leal -3(%edi),%eax
	movl %eax,8(%ebp)
	addl $8,%ebp
	jmp stg_ap_p_fast
.Lc2Qf:
	movl $8,112(%ebx)
	jmp *-8(%ebx)
.text
	.align 4,0x90
	.long	2
	.long	34
s2OU_info:
.Lc2Qq:
	movl 4(%ebp),%eax
	movl 3(%esi),%ecx
	movl %ecx,4(%ebp)
	movl %eax,%esi
	movl $s2OV_info,(%ebp)
	testl $3,%esi
	jne s2OV_info
	jmp *(%esi)
.text
	.align 4,0x90
	.long	65541
	.long	2
	.long	12
s2OY_info:
.Lc2QE:
	leal -8(%ebp),%eax
	cmpl 84(%ebx),%eax
	jb .Lc2QG
	movl 7(%esi),%eax
	movl %eax,-4(%ebp)
	movl (%ebp),%eax
	movl 3(%esi),%ecx
	movl %ecx,(%ebp)
	movl %eax,%esi
	movl $s2OU_info,-8(%ebp)
	addl $-8,%ebp
	testl $3,%esi
	jne s2OU_info
	jmp *(%esi)
.Lc2QG:
	jmp *-4(%ebx)
.text
	.align 4,0x90
	.long	324
	.long	34
s2OO_info:
.Lc2QZ:
	addl $48,%edi
	cmpl 92(%ebx),%edi
	ja .Lc2R1
	movl 3(%esi),%eax
	cmpl 16(%ebp),%eax
	jl .Lc2R3
	movl $base_GHCziBase_id_closure+1,%esi
	addl $20,%ebp
	addl $-48,%edi
	jmp *(%ebp)
.Lc2R1:
	movl $48,112(%ebx)
	jmp *-8(%ebx)
.Lc2R3:
	movl $s2Lg_info,-44(%edi)
	movl 12(%ebp),%eax
	movl %eax,-36(%edi)
	movl 3(%esi),%eax
	movl %eax,-32(%edi)
	movl $s2Lq_info,-28(%edi)
	movl 4(%ebp),%eax
	movl %eax,-20(%edi)
	movl 3(%esi),%eax
	movl %eax,-16(%edi)
	movl 8(%ebp),%eax
	movl %eax,-12(%edi)
	movl $s2OY_info,-8(%edi)
	leal -44(%edi),%eax
	movl %eax,-4(%edi)
	leal -28(%edi),%eax
	movl %eax,(%edi)
	leal -7(%edi),%esi
	addl $20,%ebp
	jmp *(%ebp)
.text
	.align 4,0x90
	.long	65541
	.long	131074
	.long	9
s2OZ_info:
.Lc2Ro:
	leal -16(%ebp),%eax
	cmpl 84(%ebx),%eax
	jb .Lc2Rq
	movl 7(%esi),%eax
	movl %eax,-12(%ebp)
	movl 15(%esi),%eax
	movl %eax,-8(%ebp)
	movl 3(%esi),%eax
	movl %eax,-4(%ebp)
	movl (%ebp),%eax
	movl 11(%esi),%ecx
	movl %ecx,(%ebp)
	movl %eax,%esi
	movl $s2OO_info,-16(%ebp)
	addl $-16,%ebp
	testl $3,%esi
	jne s2OO_info
	jmp *(%esi)
.Lc2Rq:
	jmp *-4(%ebx)
.text
	.align 4,0x90
	.long	196609
	.long	16
s2Le_info:
.Lc2RG:
	leal -8(%ebp),%eax
	cmpl 84(%ebx),%eax
	jb .Lc2RI
	addl $20,%edi
	cmpl 92(%ebx),%edi
	ja .Lc2RI
	movl $stg_upd_frame_info,-8(%ebp)
	movl %esi,-4(%ebp)
	movl 12(%esi),%eax
	addl 16(%esi),%eax
	movl $s2OZ_info,-16(%edi)
	movl %esi,-12(%edi)
	movl 8(%esi),%ecx
	movl %ecx,-8(%edi)
	movl %eax,-4(%edi)
	movl 20(%esi),%eax
	movl %eax,(%edi)
	leal -15(%edi),%esi
	addl $-8,%ebp
	jmp stg_upd_frame_info
.Lc2RI:
	movl $20,112(%ebx)
	jmp *-8(%ebx)
.text
	.align 4,0x90
	.long	0
	.long	34
s2P1_info:
.Lc2RU:
	movl $ghczmprim_GHCziTypes_ZMZN_closure+1,(%ebp)
	movl 3(%esi),%eax
	movl %eax,-4(%ebp)
	movl $0,-8(%ebp)
	addl $-8,%ebp
	jmp base_GHCziShow_zdwshowSignedInt_info
.text
	.align 4,0x90
	.long	0
	.long	34
s2ON_info:
.Lc2S5:
	addl $32,%edi
	cmpl 92(%ebx),%edi
	ja .Lc2S7
	movl $s2Le_info,-28(%edi)
	movl 3(%esi),%eax
	movl %eax,-20(%edi)
	movl 11(%esi),%eax
	movl %eax,-16(%edi)
	movl 15(%esi),%eax
	movl %eax,-12(%edi)
	movl 7(%esi),%eax
	movl %eax,-8(%edi)
	movl $ghczmprim_GHCziTypes_Izh_con_info,-4(%edi)
	movl 11(%esi),%eax
	movl %eax,(%edi)
	leal -28(%edi),%esi
	movl $Main_main3_closure+1,-4(%ebp)
	leal -3(%edi),%eax
	movl %eax,-8(%ebp)
	movl $s2P1_info,(%ebp)
	addl $-8,%ebp
	jmp stg_ap_pp_fast
.Lc2S7:
	movl $32,112(%ebx)
	jmp *-8(%ebx)
.text
	.align 4,0x90
	.long	0
	.long	22
.globl Main_main2_info
.type Main_main2_info, @object
Main_main2_info:
.Lc2Sm:
	leal -20(%ebp),%eax
	cmpl 84(%ebx),%eax
	jb .Lc2So
	addl $8,%edi
	cmpl 92(%ebx),%edi
	ja .Lc2So
	movl $stg_CAF_BLACKHOLE_info,-4(%edi)
	pushl %esi
	call newCAF
	addl $4,%esp
	leal -4(%edi),%eax
	movl %eax,4(%esi)
	movl $stg_IND_STATIC_info,(%esi)
	movl $stg_upd_frame_info,-8(%ebp)
	leal -4(%edi),%eax
	movl %eax,-4(%ebp)
	movl $Main_main4_closure+1,-16(%ebp)
	movl $s2ON_info,-12(%ebp)
	addl $-16,%ebp
	jmp base_GHCziIO_unsafeDupablePerformIO_info
.Lc2So:
	movl $8,112(%ebx)
	jmp *-8(%ebx)
.section .data
	.align 4
.globl Main_main1_srt
.type Main_main1_srt, @object
Main_main1_srt:
	.long	base_GHCziIOziHandleziFD_stdout_closure
	.long	base_GHCziIOziHandleziText_hPutStr1_closure
	.long	base_GHCziIOziHandleziText_hPutChar1_closure
	.long	Main_main2_closure
.data
	.align 4
.globl Main_main1_closure
.type Main_main1_closure, @object
Main_main1_closure:
	.long	Main_main1_info
	.long	0
.text
	.align 4,0x90
	.long	Main_main1_srt-(s2Sw_info)+0
	.long	0
	.long	327714
s2Sw_info:
.Lc2SL:
	movl $base_SystemziIO_hPrint2_closure,(%ebp)
	movl $base_GHCziIOziHandleziFD_stdout_closure,-4(%ebp)
	addl $-4,%ebp
	jmp base_GHCziIOziHandleziText_hPutChar1_info
.text
	.align 4,0x90
	.long	Main_main1_srt-(Main_main1_info)+0
	.long	65539
	.long	0
	.long	983055
.globl Main_main1_info
.type Main_main1_info, @object
Main_main1_info:
.Lc2SQ:
	leal -12(%ebp),%eax
	cmpl 84(%ebx),%eax
	jb .Lc2SS
	movl $Main_main2_closure,-8(%ebp)
	movl $base_GHCziIOziHandleziFD_stdout_closure,-12(%ebp)
	movl $s2Sw_info,-4(%ebp)
	addl $-12,%ebp
	jmp base_GHCziIOziHandleziText_hPutStr1_info
.Lc2SS:
	movl $Main_main1_closure,%esi
	jmp *-4(%ebx)
.section .data
	.align 4
.globl Main_main5_srt
.type Main_main5_srt, @object
Main_main5_srt:
	.long	base_GHCziTopHandler_runMainIO1_closure
	.long	Main_main1_closure
.data
	.align 4
.globl Main_main5_closure
.type Main_main5_closure, @object
Main_main5_closure:
	.long	Main_main5_info
	.long	0
.text
	.align 4,0x90
	.long	Main_main5_srt-(Main_main5_info)+0
	.long	65539
	.long	0
	.long	196623
.globl Main_main5_info
.type Main_main5_info, @object
Main_main5_info:
.Lc2T8:
	leal -4(%ebp),%eax
	cmpl 84(%ebx),%eax
	jb .Lc2Tb
	movl $Main_main1_closure+1,-4(%ebp)
	addl $-4,%ebp
	jmp base_GHCziTopHandler_runMainIO1_info
.Lc2Tb:
	movl $Main_main5_closure,%esi
	jmp *-4(%ebx)
.section .data
	.align 4
.globl Main_main_srt
.type Main_main_srt, @object
Main_main_srt:
	.long	Main_main1_closure
.data
	.align 4
.globl Main_main_closure
.type Main_main_closure, @object
Main_main_closure:
	.long	Main_main_info
	.long	0
.text
	.align 4,0x90
	.long	Main_main_srt-(Main_main_info)+0
	.long	65539
	.long	0
	.long	65551
.globl Main_main_info
.type Main_main_info, @object
Main_main_info:
.Lc2Tr:
	jmp Main_main1_info
.data
	.align 4
.globl Main_zdfFractionFloatzufraction_closure
.type Main_zdfFractionFloatzufraction_closure, @object
Main_zdfFractionFloatzufraction_closure:
	.long	Main_zdfFractionFloatzufraction_info
.text
	.align 4,0x90
	.long	1
	.long	34
s2Tw_info:
.Lc2TN:
	movl 4(%ebp),%eax
	movl %eax,(%ebp)
	movl %esi,4(%ebp)
	jmp base_GHCziFloat_minusFloat_info
.text
	.align 4,0x90
	.long	1
	.long	34
s2Tv_info:
.Lc2TT:
	movl %esi,-4(%ebp)
	movl $s2Tw_info,(%ebp)
	addl $-4,%ebp
	jmp base_GHCziFloat_int2Float_info
.text
	.align 4,0x90
	.long	65541
	.long	0
	.long	15
.globl Main_zdfFractionFloatzufraction_info
.type Main_zdfFractionFloatzufraction_info, @object
Main_zdfFractionFloatzufraction_info:
.Lc2TZ:
	leal -8(%ebp),%eax
	cmpl 84(%ebx),%eax
	jb .Lc2U1
	movl (%ebp),%eax
	movl %eax,-8(%ebp)
	movl $s2Tv_info,-4(%ebp)
	addl $-8,%ebp
	jmp base_GHCziFloat_float2Int_info
.Lc2U1:
	movl $Main_zdfFractionFloatzufraction_closure,%esi
	jmp *-4(%ebx)
.data
	.align 4
.globl Main_zdfFractionFloat_closure
.type Main_zdfFractionFloat_closure, @object
Main_zdfFractionFloat_closure:
	.long	Main_DZCFraction_static_info
	.long	base_GHCziFloat_zdfNumFloat_closure
	.long	base_GHCziFloat_zdfOrdFloat_closure
	.long	Main_zdfFractionFloatzufraction_closure+1
	.long	0
.data
	.align 4
.globl Main_zdfFractionDoublezufraction_closure
.type Main_zdfFractionDoublezufraction_closure, @object
Main_zdfFractionDoublezufraction_closure:
	.long	Main_zdfFractionDoublezufraction_info
.text
	.align 4,0x90
	.long	1
	.long	34
s2Ud_info:
.Lc2Uv:
	movl 4(%ebp),%eax
	movl %eax,(%ebp)
	movl %esi,4(%ebp)
	jmp base_GHCziFloat_minusDouble_info
.text
	.align 4,0x90
	.long	1
	.long	34
s2Uc_info:
.Lc2UB:
	movl %esi,-4(%ebp)
	movl $s2Ud_info,(%ebp)
	addl $-4,%ebp
	jmp base_GHCziFloat_int2Double_info
.text
	.align 4,0x90
	.long	65541
	.long	0
	.long	15
.globl Main_zdfFractionDoublezufraction_info
.type Main_zdfFractionDoublezufraction_info, @object
Main_zdfFractionDoublezufraction_info:
.Lc2UH:
	leal -8(%ebp),%eax
	cmpl 84(%ebx),%eax
	jb .Lc2UJ
	movl (%ebp),%eax
	movl %eax,-8(%ebp)
	movl $s2Uc_info,-4(%ebp)
	addl $-8,%ebp
	jmp base_GHCziFloat_double2Int_info
.Lc2UJ:
	movl $Main_zdfFractionDoublezufraction_closure,%esi
	jmp *-4(%ebx)
.data
	.align 4
.globl Main_zdfFractionDouble_closure
.type Main_zdfFractionDouble_closure, @object
Main_zdfFractionDouble_closure:
	.long	Main_DZCFraction_static_info
	.long	base_GHCziFloat_zdfNumDouble_closure
	.long	base_GHCziFloat_zdfOrdDouble_closure
	.long	Main_zdfFractionDoublezufraction_closure+1
	.long	0
.section .data
	.align 4
.globl ZCMain_main_srt
.type ZCMain_main_srt, @object
ZCMain_main_srt:
	.long	Main_main5_closure
.data
	.align 4
.globl ZCMain_main_closure
.type ZCMain_main_closure, @object
ZCMain_main_closure:
	.long	ZCMain_main_info
	.long	0
.text
	.align 4,0x90
	.long	ZCMain_main_srt-(ZCMain_main_info)+0
	.long	65539
	.long	0
	.long	65551
.globl ZCMain_main_info
.type ZCMain_main_info, @object
ZCMain_main_info:
.Lc2V5:
	jmp Main_main5_info
.data
	.align 4
.globl Main_Generator_closure
.type Main_Generator_closure, @object
Main_Generator_closure:
	.long	Main_Generator_info
.text
	.align 4,0x90
	.long	131084
	.long	0
	.long	15
.globl Main_Generator_info
.type Main_Generator_info, @object
Main_Generator_info:
.Lc2Vi:
	addl $12,%edi
	cmpl 92(%ebx),%edi
	ja .Lc2Vl
	movl $Main_Generator_con_info,-8(%edi)
	movl (%ebp),%eax
	movl %eax,-4(%edi)
	movl 4(%ebp),%eax
	movl %eax,(%edi)
	leal -7(%edi),%esi
	addl $8,%ebp
	jmp *(%ebp)
.Lc2Vl:
	movl $12,112(%ebx)
	movl $Main_Generator_closure,%esi
	jmp *-4(%ebx)
.data
	.align 4
.globl Main_DZCFraction_closure
.type Main_DZCFraction_closure, @object
Main_DZCFraction_closure:
	.long	Main_DZCFraction_info
.text
	.align 4,0x90
	.long	196628
	.long	0
	.long	15
.globl Main_DZCFraction_info
.type Main_DZCFraction_info, @object
Main_DZCFraction_info:
.Lc2VC:
	addl $16,%edi
	cmpl 92(%ebx),%edi
	ja .Lc2VF
	movl $Main_DZCFraction_con_info,-12(%edi)
	movl (%ebp),%eax
	movl %eax,-8(%edi)
	movl 4(%ebp),%eax
	movl %eax,-4(%edi)
	movl 8(%ebp),%eax
	movl %eax,(%edi)
	leal -11(%edi),%esi
	addl $12,%ebp
	jmp *(%ebp)
.Lc2VF:
	movl $16,112(%ebx)
	movl $Main_DZCFraction_closure,%esi
	jmp *-4(%ebx)
.section .rodata
	.align 4
c2VQ_str:
	.byte	109
	.byte	97
	.byte	105
	.byte	110
	.byte	58
	.byte	77
	.byte	97
	.byte	105
	.byte	110
	.byte	46
	.byte	71
	.byte	101
	.byte	110
	.byte	101
	.byte	114
	.byte	97
	.byte	116
	.byte	111
	.byte	114
	.byte	0
.text
	.align 4,0x90
	.long	c2VQ_str-(Main_Generator_con_info)+0
	.long	2
	.long	4
.globl Main_Generator_con_info
.type Main_Generator_con_info, @object
Main_Generator_con_info:
.Lc2VU:
	incl %esi
	jmp *(%ebp)
.section .rodata
	.align 4
c2VZ_str:
	.byte	109
	.byte	97
	.byte	105
	.byte	110
	.byte	58
	.byte	77
	.byte	97
	.byte	105
	.byte	110
	.byte	46
	.byte	71
	.byte	101
	.byte	110
	.byte	101
	.byte	114
	.byte	97
	.byte	116
	.byte	111
	.byte	114
	.byte	0
.text
	.align 4,0x90
	.long	c2VZ_str-(Main_Generator_static_info)+0
	.long	2
	.long	7
.globl Main_Generator_static_info
.type Main_Generator_static_info, @object
Main_Generator_static_info:
.Lc2W3:
	incl %esi
	jmp *(%ebp)
.section .rodata
	.align 4
c2Wa_str:
	.byte	109
	.byte	97
	.byte	105
	.byte	110
	.byte	58
	.byte	77
	.byte	97
	.byte	105
	.byte	110
	.byte	46
	.byte	68
	.byte	58
	.byte	70
	.byte	114
	.byte	97
	.byte	99
	.byte	116
	.byte	105
	.byte	111
	.byte	110
	.byte	0
.text
	.align 4,0x90
	.long	c2Wa_str-(Main_DZCFraction_con_info)+0
	.long	3
	.long	1
.globl Main_DZCFraction_con_info
.type Main_DZCFraction_con_info, @object
Main_DZCFraction_con_info:
.Lc2We:
	incl %esi
	jmp *(%ebp)
.section .rodata
	.align 4
c2Wj_str:
	.byte	109
	.byte	97
	.byte	105
	.byte	110
	.byte	58
	.byte	77
	.byte	97
	.byte	105
	.byte	110
	.byte	46
	.byte	68
	.byte	58
	.byte	70
	.byte	114
	.byte	97
	.byte	99
	.byte	116
	.byte	105
	.byte	111
	.byte	110
	.byte	0
.text
	.align 4,0x90
	.long	c2Wj_str-(Main_DZCFraction_static_info)+0
	.long	3
	.long	7
.globl Main_DZCFraction_static_info
.type Main_DZCFraction_static_info, @object
Main_DZCFraction_static_info:
.Lc2Wn:
	incl %esi
	jmp *(%ebp)
.data
	.align 4
_module_registered:
	.long	0
.text
	.align 4,0x90
.globl __stginit_Main_
.type __stginit_Main_, @object
__stginit_Main_:
.Lc2Wx:
	cmpl $0,_module_registered
	jne .Lc2Wy
.Lc2Wz:
	movl $1,_module_registered
	addl $-4,%ebp
	movl $__stginit_base_ControlziMonadziSTziStrict_,(%ebp)
	addl $-4,%ebp
	movl $__stginit_base_ControlziMonadziSTziLazzy_,(%ebp)
	addl $-4,%ebp
	movl $__stginit_base_ForeignziStorable_,(%ebp)
	addl $-4,%ebp
	movl $__stginit_base_GHCziFloat_,(%ebp)
	addl $-4,%ebp
	movl $__stginit_base_ControlziMonad_,(%ebp)
	addl $-4,%ebp
	movl $__stginit_base_DataziMonoid_,(%ebp)
	addl $-4,%ebp
	movl $__stginit_base_Prelude_,(%ebp)
	addl $-4,%ebp
	movl $__stginit_DataziStorableVectorziLazzy_,(%ebp)
	addl $-4,%ebp
	movl $__stginit_DataziStorableVectorziLazzyziBuilder_,(%ebp)
	addl $-4,%ebp
	movl $__stginit_DataziStorableVectorziSTziStrict_,(%ebp)
	addl $-4,%ebp
	movl $__stginit_DataziStorableVectorziSTziLazzy_,(%ebp)
	addl $-4,%ebp
	movl $__stginit_DataziStorableVector_,(%ebp)
	addl $-4,%ebp
	movl $__stginit_SoundziFrameziStereo_,(%ebp)
	addl $-4,%ebp
	movl $__stginit_base_GHCziTopHandler_,(%ebp)
.Lc2Wy:
	addl $4,%ebp
	jmp *-4(%ebp)
.text
	.align 4,0x90
.globl __stginit_Main
.type __stginit_Main, @object
__stginit_Main:
.Lc2WF:
	jmp __stginit_Main_
.text
	.align 4,0x90
.globl __stginit_ZCMain
.type __stginit_ZCMain, @object
__stginit_ZCMain:
.Lc2WK:
	addl $4,%ebp
	jmp *-4(%ebp)


