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
    }

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_s2JR :: GHC.Prim.Int#)
    (ww1_s2JV :: GHC.Prim.Addr#)
    (w_s2JX :: GHC.Prim.State# GHC.Prim.RealWorld) ->
    case ww_s2JR of wild_XQ {
      __DEFAULT ->
        case GHC.Prim.writeIntOffAddr#
               @ GHC.Prim.RealWorld ww1_s2JV 0 42 w_s2JX
        of s2_i2AN { __DEFAULT ->
        Main.$wa
          (GHC.Prim.-# wild_XQ 1) (GHC.Prim.plusAddr# ww1_s2JV 4) s2_i2AN
        };
      0 -> (# w_s2JX, GHC.Unit.() #)
    }
end Rec }

Main.main5 :: GHC.Prim.State# GHC.Prim.RealWorld
              -> (# GHC.Prim.State# GHC.Prim.RealWorld,
                    Data.StorableVector.Base.Vector GHC.Types.Int #)
GblId
[Arity 1
 NoCafRefs]
Main.main5 =
  \ (eta_X2wv :: GHC.Prim.State# GHC.Prim.RealWorld) ->
    case GHC.Prim.noDuplicate# eta_X2wv of s'_X2wx { __DEFAULT ->
    case GHC.Prim.newMutVar#
           @ (GHC.ForeignPtr.Finalizers, [GHC.Types.IO ()])
           @ GHC.Prim.RealWorld
           GHC.ForeignPtr.mallocForeignPtr2
           s'_X2wx
    of _ { (# s2#_i2zk, var#_i2zl #) ->
    case GHC.Prim.newPinnedByteArray#
           @ GHC.Prim.RealWorld 40000000 s2#_i2zk
    of _ { (# s'1_i2zp, mbarr#_i2zq #) ->
    let {
      a2_i2zs [ALWAYS Just L] :: GHC.Prim.Addr#
      LclId
      [Str: DmdType]
      a2_i2zs =
        GHC.Prim.byteArrayContents#
          (mbarr#_i2zq
           `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_i2zs s'1_i2zp
    of _ { (# new_s_i2zM, _ #) ->
    let {
      a4_s2Kk :: GHC.STRef.STRef
                   GHC.Prim.RealWorld (GHC.ForeignPtr.Finalizers, [GHC.Types.IO ()])
      LclId
      [Str: DmdType m]
      a4_s2Kk =
        GHC.STRef.STRef
          @ GHC.Prim.RealWorld
          @ (GHC.ForeignPtr.Finalizers, [GHC.Types.IO ()])
          var#_i2zl } in
    let {
      a5_s2Km :: GHC.ForeignPtr.ForeignPtrContents
      LclId
      [Str: DmdType]
      a5_s2Km =
        GHC.ForeignPtr.MallocPtr
          mbarr#_i2zq
          (a4_s2Kk
           `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_s2Km new_s_i2zM
    of s'11_i2Ag { __DEFAULT ->
    (# s'11_i2Ag,
       Data.StorableVector.Base.SV
         @ GHC.Types.Int a2_i2zs a5_s2Km 0 10000000 #)
    }
    }
    }
    }
    }

Main.main4 :: Data.StorableVector.Base.Vector GHC.Types.Int
GblId
[]
Main.main4 =
  GHC.IO.unsafeDupablePerformIO
    @ (Data.StorableVector.Base.Vector GHC.Types.Int)
    (Main.main5
     `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)))

Main.main3 :: GHC.Prim.State# GHC.Prim.RealWorld
              -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Types.Int #)
GblId
[Arity 1]
Main.main3 =
  \ (eta_i2vJ :: GHC.Prim.State# GHC.Prim.RealWorld) ->
    case GHC.Prim.noDuplicate# eta_i2vJ of s'_i2vK { __DEFAULT ->
    case Main.main4
    of _
    { Data.StorableVector.Base.SV rb_i2vZ rb1_i2w0 rb2_i2w1 rb3_i2w2 ->
    let {
      a_s2Jq [ALWAYS Just L] :: GHC.Prim.Addr#
      LclId
      [Str: DmdType]
      a_s2Jq = GHC.Prim.plusAddr# rb_i2vZ (GHC.Prim.*# rb2_i2w1 4) } in
    let {
      a1_s2Js [ALWAYS Just L] :: GHC.Prim.Addr#
      LclId
      [Str: DmdType]
      a1_s2Js = GHC.Prim.plusAddr# a_s2Jq (GHC.Prim.*# rb3_i2w2 4) } in
    letrec {
      $wa1_s2Kq :: GHC.Prim.Addr#
                   -> GHC.Prim.Int#
                   -> GHC.Prim.State# GHC.Prim.RealWorld
                   -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Types.Int #)
      LclId
      [Arity 3
       Str: DmdType LLL]
      $wa1_s2Kq =
        \ (ww_s2K4 :: GHC.Prim.Addr#)
          (ww1_s2K8 :: GHC.Prim.Int#)
          (w_s2Ka :: GHC.Prim.State# GHC.Prim.RealWorld) ->
          case GHC.Prim.eqAddr# ww_s2K4 a1_s2Js of _ {
            GHC.Bool.False ->
              case GHC.Prim.readIntOffAddr# @ GHC.Prim.RealWorld ww_s2K4 0 w_s2Ka
              of _ { (# s2_i2xU, x_i2xV #) ->
              $wa1_s2Kq
                (GHC.Prim.plusAddr# ww_s2K4 4)
                (GHC.Prim.+# (GHC.Prim.+# ww1_s2K8 x_i2xV) 13)
                s2_i2xU
              };
            GHC.Bool.True -> (# w_s2Ka, GHC.Types.I# ww1_s2K8 #)
          }; } in
    case $wa1_s2Kq a_s2Jq 23 s'_i2vK
    of _ { (# new_s_i2Bg, a2_i2Bh #) ->
    case GHC.Prim.touch#
           @ GHC.ForeignPtr.ForeignPtrContents rb1_i2w0 new_s_i2Bg
    of s'1_i2Bo { __DEFAULT ->
    (# s'1_i2Bo, a2_i2Bh #)
    }
    }
    }
    }

Main.main2 :: GHC.Base.String
GblId
[]
Main.main2 =
  case GHC.IO.unsafeDupablePerformIO
         @ GHC.Types.Int
         (Main.main3
          `cast` (sym (GHC.Types.NTCo:IO GHC.Types.Int)
                  :: (GHC.Prim.State# GHC.Prim.RealWorld
                      -> (# GHC.Prim.State# GHC.Prim.RealWorld, GHC.Types.Int #))
                       ~
                     GHC.Types.IO GHC.Types.Int))
  of _ { GHC.Types.I# ww_i2J1 ->
  GHC.Show.$wshowSignedInt 0 ww_i2J1 (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_i2vu :: GHC.Prim.State# GHC.Prim.RealWorld) ->
    case GHC.IO.Handle.Text.hPutStr1
           GHC.IO.Handle.FD.stdout Main.main2 eta_i2vu
    of _ { (# new_s_i2vD, _ #) ->
    GHC.IO.Handle.Text.hPutChar1
      GHC.IO.Handle.FD.stdout System.IO.hPrint2 new_s_i2vD
    }

Main.main6 :: GHC.Prim.State# GHC.Prim.RealWorld
              -> (# GHC.Prim.State# GHC.Prim.RealWorld, () #)
GblId
[Arity 1
 Str: DmdType L]
Main.main6 =
  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.main6
  `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
s2MG_info:
.Lc2MV:
	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:
.Lc2MZ:
	movl (%ebp),%esi
	movl $s2MG_info,(%ebp)
	testl $3,%esi
	jne s2MG_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
s2N7_info:
.Lc2Nm:
	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:
.Lc2Nq:
	movl (%ebp),%esi
	movl $s2N7_info,(%ebp)
	testl $3,%esi
	jne s2N7_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
s2Ny_info:
.Lc2NM:
	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:
.Lc2NQ:
	movl (%ebp),%esi
	movl $s2Ny_info,(%ebp)
	testl $3,%esi
	jne s2Ny_info
	jmp *(%esi)
.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:
.Lc2O8:
	movl (%ebp),%eax
	testl %eax,%eax
	jne .Lc2Oc
	movl $ghczmprim_GHCziUnit_Z0T_closure+1,%esi
	addl $8,%ebp
	jmp *(%ebp)
.Lc2Oc:
	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_main5_closure
.type Main_main5_closure, @object
Main_main5_closure:
	.long	Main_main5_info
.text
	.align 4,0x90
	.long	35
	.long	34
s2Ok_info:
.Lc2OP:
	addl $40,%edi
	cmpl 92(%ebx),%edi
	ja .Lc2OS
	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)
.Lc2OS:
	movl $40,112(%ebx)
	movl $254,32(%ebx)
	jmp stg_gc_ut
.text
	.align 4,0x90
	.long	1
	.long	34
s2Oj_info:
.Lc2P3:
	leal 8(%esi),%eax
	movl %eax,-4(%ebp)
	movl %esi,(%ebp)
	movl %eax,-12(%ebp)
	movl $10000000,-16(%ebp)
	movl $s2Ok_info,-8(%ebp)
	addl $-16,%ebp
	jmp Main_zdwa_info
.text
	.align 4,0x90
	.long	0
	.long	34
s2Oi_info:
.Lc2P8:
	movl %esi,(%ebp)
	movl $40000000,%esi
	movl $s2Oj_info,-4(%ebp)
	addl $-4,%ebp
	jmp stg_newPinnedByteArrayzh
.text
	.align 4,0x90
	.long	0
	.long	34
s2Li_info:
.Lc2Pd:
	movl $base_GHCziForeignPtr_mallocForeignPtr2_closure,%esi
	movl $s2Oi_info,(%ebp)
	jmp stg_newMutVarzh
.text
	.align 4,0x90
	.long	65539
	.long	0
	.long	15
.globl Main_main5_info
.type Main_main5_info, @object
Main_main5_info:
.Lc2Pi:
	leal -24(%ebp),%eax
	cmpl 84(%ebx),%eax
	jb .Lc2Pk
	movl $s2Li_info,-4(%ebp)
	addl $-4,%ebp
	jmp stg_noDuplicatezh
.Lc2Pk:
	movl $Main_main5_closure,%esi
	jmp *-4(%ebx)
.data
	.align 4
.globl Main_main4_closure
.type Main_main4_closure, @object
Main_main4_closure:
	.long	Main_main4_info
	.long	0
	.long	0
	.long	0
.text
	.align 4,0x90
	.long	0
	.long	22
.globl Main_main4_info
.type Main_main4_info, @object
Main_main4_info:
.Lc2PB:
	leal -12(%ebp),%eax
	cmpl 84(%ebx),%eax
	jb .Lc2PD
	addl $8,%edi
	cmpl 92(%ebx),%edi
	ja .Lc2PD
	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_main5_closure+1,-12(%ebp)
	addl $-12,%ebp
	jmp base_GHCziIO_unsafeDupablePerformIO_info
.Lc2PD:
	movl $8,112(%ebx)
	jmp *-8(%ebx)
.section .data
	.align 4
.globl Main_main3_srt
.type Main_main3_srt, @object
Main_main3_srt:
	.long	Main_main4_closure
.data
	.align 4
.globl Main_main3_closure
.type Main_main3_closure, @object
Main_main3_closure:
	.long	Main_main3_info
	.long	0
.text
	.align 4,0x90
	.long	196617
	.long	65536
	.long	11
s2M7_info:
.Lc2QB:
	addl $8,%edi
	cmpl 92(%ebx),%edi
	ja .Lc2QD
	movl (%ebp),%eax
	cmpl 1(%esi),%eax
	je .Lc2QG
	movl (%ebp),%eax
	addl $4,%eax
	movl (%ebp),%ecx
	movl (%ecx),%ecx
	addl $13,%ecx
	movl 4(%ebp),%edx
	addl %ecx,%edx
	movl %edx,4(%ebp)
	movl %eax,(%ebp)
	addl $-8,%edi
	jmp s2M7_info
.Lc2QD:
	movl $8,112(%ebx)
	jmp *-4(%ebx)
.Lc2QG:
	movl $ghczmprim_GHCziTypes_Izh_con_info,-4(%edi)
	movl 4(%ebp),%eax
	movl %eax,(%edi)
	leal -3(%edi),%esi
	addl $8,%ebp
	jmp *(%ebp)
.text
	.align 4,0x90
	.long	1
	.long	34
s2PU_info:
.Lc2QT:
	addl $8,%ebp
	jmp *(%ebp)
.text
	.align 4,0x90
	.long	0
	.long	34
s2PL_info:
.Lc2R4:
	addl $8,%edi
	cmpl 92(%ebx),%edi
	ja .Lc2R6
	movl 11(%esi),%eax
	shll $2,%eax
	movl 7(%esi),%ecx
	addl %eax,%ecx
	movl 15(%esi),%eax
	shll $2,%eax
	movl %ecx,%edx
	addl %eax,%edx
	movl $s2M7_info,-4(%edi)
	movl %edx,(%edi)
	movl 3(%esi),%eax
	movl %eax,(%ebp)
	leal -1(%edi),%esi
	movl $23,-8(%ebp)
	movl %ecx,-12(%ebp)
	movl $s2PU_info,-4(%ebp)
	addl $-12,%ebp
	jmp s2M7_info
.Lc2R6:
	movl $8,112(%ebx)
	jmp *-8(%ebx)
.text
	.align 4,0x90
	.long	Main_main3_srt-(s2Mf_info)+0
	.long	0
	.long	65570
s2Mf_info:
.Lc2Rc:
	movl $Main_main4_closure,%esi
	movl $s2PL_info,(%ebp)
	testl $3,%esi
	jne s2PL_info
	jmp *(%esi)
.text
	.align 4,0x90
	.long	Main_main3_srt-(Main_main3_info)+0
	.long	65539
	.long	0
	.long	65551
.globl Main_main3_info
.type Main_main3_info, @object
Main_main3_info:
.Lc2Rl:
	leal -16(%ebp),%eax
	cmpl 84(%ebx),%eax
	jb .Lc2Rn
	movl $s2Mf_info,-4(%ebp)
	addl $-4,%ebp
	jmp stg_noDuplicatezh
.Lc2Rn:
	movl $Main_main3_closure,%esi
	jmp *-4(%ebx)
.section .data
	.align 4
.globl Main_main2_srt
.type Main_main2_srt, @object
Main_main2_srt:
	.long	Main_main4_closure
.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	0
	.long	34
s2Rt_info:
.Lc2RH:
	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	Main_main2_srt-(Main_main2_info)+0
	.long	0
	.long	65558
.globl Main_main2_info
.type Main_main2_info, @object
Main_main2_info:
.Lc2RQ:
	leal -20(%ebp),%eax
	cmpl 84(%ebx),%eax
	jb .Lc2RS
	addl $8,%edi
	cmpl 92(%ebx),%edi
	ja .Lc2RS
	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_main3_closure+1,-16(%ebp)
	movl $s2Rt_info,-12(%ebp)
	addl $-16,%ebp
	jmp base_GHCziIO_unsafeDupablePerformIO_info
.Lc2RS:
	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-(s2S0_info)+0
	.long	0
	.long	327714
s2S0_info:
.Lc2Sf:
	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:
.Lc2Sk:
	leal -12(%ebp),%eax
	cmpl 84(%ebx),%eax
	jb .Lc2Sm
	movl $Main_main2_closure,-8(%ebp)
	movl $base_GHCziIOziHandleziFD_stdout_closure,-12(%ebp)
	movl $s2S0_info,-4(%ebp)
	addl $-12,%ebp
	jmp base_GHCziIOziHandleziText_hPutStr1_info
.Lc2Sm:
	movl $Main_main1_closure,%esi
	jmp *-4(%ebx)
.section .data
	.align 4
.globl Main_main6_srt
.type Main_main6_srt, @object
Main_main6_srt:
	.long	base_GHCziTopHandler_runMainIO1_closure
	.long	Main_main1_closure
.data
	.align 4
.globl Main_main6_closure
.type Main_main6_closure, @object
Main_main6_closure:
	.long	Main_main6_info
	.long	0
.text
	.align 4,0x90
	.long	Main_main6_srt-(Main_main6_info)+0
	.long	65539
	.long	0
	.long	196623
.globl Main_main6_info
.type Main_main6_info, @object
Main_main6_info:
.Lc2SC:
	leal -4(%ebp),%eax
	cmpl 84(%ebx),%eax
	jb .Lc2SF
	movl $Main_main1_closure+1,-4(%ebp)
	addl $-4,%ebp
	jmp base_GHCziTopHandler_runMainIO1_info
.Lc2SF:
	movl $Main_main6_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:
.Lc2SV:
	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
s2T0_info:
.Lc2Th:
	movl 4(%ebp),%eax
	movl %eax,(%ebp)
	movl %esi,4(%ebp)
	jmp base_GHCziFloat_minusFloat_info
.text
	.align 4,0x90
	.long	1
	.long	34
s2SZ_info:
.Lc2Tn:
	movl %esi,-4(%ebp)
	movl $s2T0_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:
.Lc2Tt:
	leal -8(%ebp),%eax
	cmpl 84(%ebx),%eax
	jb .Lc2Tv
	movl (%ebp),%eax
	movl %eax,-8(%ebp)
	movl $s2SZ_info,-4(%ebp)
	addl $-8,%ebp
	jmp base_GHCziFloat_float2Int_info
.Lc2Tv:
	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
s2TH_info:
.Lc2TZ:
	movl 4(%ebp),%eax
	movl %eax,(%ebp)
	movl %esi,4(%ebp)
	jmp base_GHCziFloat_minusDouble_info
.text
	.align 4,0x90
	.long	1
	.long	34
s2TG_info:
.Lc2U5:
	movl %esi,-4(%ebp)
	movl $s2TH_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:
.Lc2Ub:
	leal -8(%ebp),%eax
	cmpl 84(%ebx),%eax
	jb .Lc2Ud
	movl (%ebp),%eax
	movl %eax,-8(%ebp)
	movl $s2TG_info,-4(%ebp)
	addl $-8,%ebp
	jmp base_GHCziFloat_double2Int_info
.Lc2Ud:
	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_main6_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:
.Lc2Uz:
	jmp Main_main6_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:
.Lc2UM:
	addl $12,%edi
	cmpl 92(%ebx),%edi
	ja .Lc2UP
	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)
.Lc2UP:
	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:
.Lc2V6:
	addl $16,%edi
	cmpl 92(%ebx),%edi
	ja .Lc2V9
	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)
.Lc2V9:
	movl $16,112(%ebx)
	movl $Main_DZCFraction_closure,%esi
	jmp *-4(%ebx)
.section .rodata
	.align 4
c2Vk_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	c2Vk_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:
.Lc2Vo:
	incl %esi
	jmp *(%ebp)
.section .rodata
	.align 4
c2Vt_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	c2Vt_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:
.Lc2Vx:
	incl %esi
	jmp *(%ebp)
.section .rodata
	.align 4
c2VE_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	c2VE_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:
.Lc2VI:
	incl %esi
	jmp *(%ebp)
.section .rodata
	.align 4
c2VN_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	c2VN_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:
.Lc2VR:
	incl %esi
	jmp *(%ebp)
.data
	.align 4
_module_registered:
	.long	0
.text
	.align 4,0x90
.globl __stginit_Main_
.type __stginit_Main_, @object
__stginit_Main_:
.Lc2W1:
	cmpl $0,_module_registered
	jne .Lc2W2
.Lc2W3:
	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)
.Lc2W2:
	addl $4,%ebp
	jmp *-4(%ebp)
.text
	.align 4,0x90
.globl __stginit_Main
.type __stginit_Main, @object
__stginit_Main:
.Lc2W9:
	jmp __stginit_Main_
.text
	.align 4,0x90
.globl __stginit_ZCMain
.type __stginit_ZCMain, @object
__stginit_ZCMain:
.Lc2We:
	addl $4,%ebp
	jmp *-4(%ebp)


