-Typechecked:
-lit.t444 = D# 2.0000000000000000##
-lit.t443 = F# 1.0000000000000000#
-AbsBinds [] [] [(a.t439, Test.a{-r79-})]
- {- nonrec -}
- a.t439 :: IoWorld -> (Int, IoWorld)
- a.t439
- = ccall a [Int]
-{- nonrec -}
-{- nonrec -}
-AbsBinds [] [] [(b.t440, Test.b{-r80-})]
- {- nonrec -}
- b.t440 :: Int -> IoWorld -> (Int, IoWorld)
- b.t440
- x.r212 = ccall b [Int, Int] x.r212
-{- nonrec -}
-{- nonrec -}
-AbsBinds [] [] [(c.t441, Test.c{-r81-})]
- {- nonrec -}
- c.t441 :: Int -> Char -> Float -> Double -> IoWorld -> (Float, IoWorld)
- c.t441
- x1.r213 x2.r214 x3.r215 x4.r216
- = ccall c [Float, Int, Char, Float, Double]
- x1.r213 x2.r214 x3.r215 x4.r216
-{- nonrec -}
-{- nonrec -}
-AbsBinds [] [] [(d.t442, Test.d{-r82-})]
- {- nonrec -}
- d.t442 :: IoWorld -> (Float, IoWorld)
- d.t442
- = (thenIO{-r102-} [Int, Float])
- Test.a{-r79-}
- (\ x.r217 -> (thenIO{-r102-} [Int, Float])
- (Test.b{-r80-} x.r217)
- (\ y.r218 -> Test.c{-r81-}
- y.r218 'f' lit.t443 lit.t444))
-{- nonrec -}
-{- nonrec -}
-Desugared:
-{- plain CoRec -}
-lit.t444 :: Double
-_NI_
-lit.t444 = (\ tpl.d0# -> D#! tpl.d0#) 2.0000000000000000##
-lit.t443 :: Float
-_NI_
-lit.t443 = (\ tpl.d1# -> F#! tpl.d1#) 1.0000000000000000#
-Test.a{-r79-} :: IoWorld -> (Int, IoWorld)
-_NI_
-Test.a{-r79-} =
- \ ds.d2 ->
+
+NOTE: Simplifier still going after 4 iterations; bailing out.
+
+
+================================================================================
+STG syntax:
+nrlit_s25b =
+ PrelNum.:%{-5l,p-}{i}! [PrelNum.integer_2{-8e,p-} PrelNum.integer_1{-8d,p-}];
+lit_a19u =
+ (False, True, False, False, True) [] \u []
case
- (case
- (case ds.d2 of {
- IoWorld ds.d3# -> ds.d3#
- })
- of {
- a.d8# -> ( _CCALL_ a [] Int# )! a.d8#
- })
+ PrelNum.$d14{-rtM,p-} ::{PrelNum.Fractional{-26,p-} PrelBase.Double{-3a,p-}}
of {
- IntPrimAndIoWorld ds.d4# ds.d5# ->
- let {
- a.d6 :: Int
- _NI_
- a.d6 = I#! ds.d4# } in
- let {
- a.d7 :: IoWorld
- _NI_
- a.d7 = IoWorld! ds.d5#
- } in Tup2! Int IoWorld a.d6 a.d7
- }
-Test.b{-r80-} :: Int -> IoWorld -> (Int, IoWorld)
-_NI_
-Test.b{-r80-} =
- \ x.r212 ds.d9 ->
+ -- lvs: []; rhs lvs: []; uniq: c2b9
+ PrelTup.(,,,){-64,p-}{i} tpl_s1V1 tpl_s1V2 tpl_s1V3 tpl_s1V0 ->
+ tpl_s1V0
+ nrlit_s25b;
+ };
+nrlit_s25c =
+ PrelNum.:%{-5l,p-}{i}! [PrelNum.integer_1{-8d,p-} PrelNum.integer_1{-8d,p-}];
+lit_a19w =
+ (False, True, False, False, True) [] \u []
case
- (case
- (case ds.d9 of {
- IoWorld ds.d10# -> ds.d10#
- })
- of {
- a.d16# ->
- case
- (case x.r212 of {
- I# ds.d11# -> ds.d11#
- })
- of {
- a.d17# -> ( _CCALL_ b [Int#] Int# )! a.d16# a.d17#
- }
- })
+ PrelNum.$d23{-rtW,p-} ::{PrelNum.Fractional{-26,p-} PrelBase.Float{-3c,p-}}
of {
- IntPrimAndIoWorld ds.d12# ds.d13# ->
- let {
- a.d14 :: Int
- _NI_
- a.d14 = I#! ds.d12# } in
- let {
- a.d15 :: IoWorld
- _NI_
- a.d15 = IoWorld! ds.d13#
- } in Tup2! Int IoWorld a.d14 a.d15
+ -- lvs: []; rhs lvs: []; uniq: c2ba
+ PrelTup.(,,,){-64,p-}{i} tpl_s1Vt tpl_s1Vu tpl_s1Vv tpl_s1Vs ->
+ tpl_s1Vs
+ nrlit_s25c;
+ };
+s_s1MF =
+ [] \r [ds_s1VJ]
+ case ds_s1VJ ::STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} of {
+ -- lvs: [ds_s1VJ]; rhs lvs: []; uniq: c2bb
+ STBase.S#{-5D,p-}{i} ds_s1Wa ->
+ case
+ _ccall_ a [(STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-})]# [ds_s1Wa] ::STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-}
+ of {
+ -- lvs: [ds_s1Wa]; rhs lvs: []; uniq: c2bc
+ STBase.StateAndInt#{-5v,p-}{i} ds_s1Wk ds_s1W9 ->
+ let {
+ ds_s1WA =
+ PrelBase.I#{-5b,p-}{i}! [ds_s1W9]; } in
+ let {
+ ds_s1Wz =
+ STBase.S#{-5D,p-}{i}! [ds_s1Wk];
+ } in
+ PrelTup.(,){-62,p-}{i}! [ds_s1WA ds_s1Wz];
+ };
+ };
+s_s1Xu =
+ [] \r [ds_s1WI]
+ case ds_s1WI ::STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} of {
+ -- lvs: [ds_s1WI]; rhs lvs: []; uniq: c2bd
+ STBase.S#{-5D,p-}{i} ds_s1X9 ->
+ case
+ _ccall_ a [(STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-})]# [ds_s1X9] ::STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-}
+ of {
+ -- lvs: [ds_s1X9]; rhs lvs: []; uniq: c2be
+ STBase.StateAndInt#{-5v,p-}{i} ds_s1Xj ds_s1X8 ->
+ let {
+ ds_s1XP =
+ PrelBase.I#{-5b,p-}{i}! [ds_s1X8]; } in
+ let {
+ ds_s1XO =
+ STBase.S#{-5D,p-}{i}! [ds_s1Xj];
+ } in
+ PrelTup.(,){-62,p-}{i}! [ds_s1XP ds_s1XO];
+ };
+ };
+a{-r1,x-} =
+ [] \u []
+ s_s1Xu;
+b{-r3,x-} =
+ [] \r [x_s1XY]
+ let {
+ stg_c2ac =
+ (False, True, False, False, True) [x_s1XY] \r [ds_s1XN]
+ case
+ ds_s1XN{-lvs:x_s1XY-} ::STBase.State{-3M,p-} GHC.RealWorld{-3s,p-}
+ of {
+ -- lvs: [ds_s1XN x_s1XY]; rhs lvs: [x_s1XY]; uniq: c2bf
+ STBase.S#{-5D,p-}{i} ds_s1XZ ->
+ case x_s1XY{-lvs:ds_s1XZ-} ::PrelBase.Int{-3g,p-} of {
+ -- lvs: [x_s1XY ds_s1XZ]; rhs lvs: [ds_s1XZ]; uniq: c2bg
+ PrelBase.I#{-5b,p-}{i} ds_s1Yp ->
+ case
+ _ccall_ b [(STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-}) GHC.Int#{-3f,p-}]# [ds_s1XZ ds_s1Yp] ::STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-}
+ of {
+ -- lvs: [ds_s1XZ ds_s1Yp]; rhs lvs: []; uniq: c2bh
+ STBase.StateAndInt#{-5v,p-}{i} ds_s1YA ds_s1Yq ->
+ let {
+ ds_s1Za =
+ PrelBase.I#{-5b,p-}{i}! [ds_s1Yq]; } in
+ let {
+ ds_s1Z9 =
+ STBase.S#{-5D,p-}{i}! [ds_s1YA];
+ } in
+ PrelTup.(,){-62,p-}{i}! [ds_s1Za ds_s1Z9];
+ };
+ };
+ };
+ } in
+ stg_c2ac;
+c{-r5,x-} =
+ [] \r [x1_s1Zj x2_s1Zt x3_s1ZD x4_s1ZN]
+ let {
+ stg_c29C =
+ (False, True, False, False, True) [x1_s1Zj x2_s1Zt x3_s1ZD x4_s1ZN] \r [ds_s1Z8]
+ case
+ ds_s1Z8{-lvs:x1_s1Zj, x2_s1Zt, x3_s1ZD, x4_s1ZN-} ::STBase.State{-3M,p-} GHC.RealWorld{-3s,p-}
+ of {
+ -- lvs: [ds_s1Z8 x1_s1Zj x2_s1Zt x3_s1ZD x4_s1ZN]; rhs lvs: [x1_s1Zj x2_s1Zt x3_s1ZD x4_s1ZN]; uniq: c2bi
+ STBase.S#{-5D,p-}{i} ds_s1Zk ->
+ case
+ x1_s1Zj{-lvs:ds_s1Zk, x2_s1Zt, x3_s1ZD, x4_s1ZN-} ::PrelBase.Int{-3g,p-}
+ of {
+ -- lvs: [x1_s1Zj ds_s1Zk x2_s1Zt x3_s1ZD x4_s1ZN]; rhs lvs: [ds_s1Zk x2_s1Zt x3_s1ZD x4_s1ZN]; uniq: c2bj
+ PrelBase.I#{-5b,p-}{i} ds_s1Zu ->
+ case
+ x2_s1Zt{-lvs:ds_s1Zk, ds_s1Zu, x3_s1ZD, x4_s1ZN-} ::PrelBase.Char{-38,p-}
+ of {
+ -- lvs: [ds_s1Zk x2_s1Zt ds_s1Zu x3_s1ZD x4_s1ZN]; rhs lvs: [ds_s1Zk ds_s1Zu x3_s1ZD x4_s1ZN]; uniq: c2bk
+ PrelBase.C#{-54,p-}{i} ds_s1ZE ->
+ case
+ x3_s1ZD{-lvs:ds_s1Zk, ds_s1Zu, ds_s1ZE, x4_s1ZN-} ::PrelBase.Float{-3c,p-}
+ of {
+ -- lvs: [ds_s1Zk ds_s1Zu x3_s1ZD ds_s1ZE x4_s1ZN]; rhs lvs: [ds_s1Zk ds_s1Zu ds_s1ZE x4_s1ZN]; uniq: c2bl
+ PrelBase.F#{-59,p-}{i} ds_s1ZO ->
+ case
+ x4_s1ZN{-lvs:ds_s1Zk, ds_s1Zu, ds_s1ZE, ds_s1ZO-} ::PrelBase.Double{-3a,p-}
+ of {
+ -- lvs: [ds_s1Zk ds_s1Zu ds_s1ZE x4_s1ZN ds_s1ZO]; rhs lvs: [ds_s1Zk ds_s1Zu ds_s1ZE ds_s1ZO]; uniq: c2bm
+ PrelBase.D#{-56,p-}{i} ds_s20e ->
+ case
+ _ccall_ c [(STBase.StateAndFloat#{-3C,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-}) GHC.Int#{-3f,p-} GHC.Char#{-37,p-} GHC.Float#{-3b,p-} GHC.Double#{-39,p-}]# [ds_s1Zk ds_s1Zu ds_s1ZE ds_s1ZO ds_s20e] ::STBase.StateAndFloat#{-3C,p-} GHC.RealWorld{-3s,p-}
+ of {
+ -- lvs: [ds_s1Zk ds_s1Zu ds_s1ZE ds_s1ZO ds_s20e]; rhs lvs: []; uniq: c2bn
+ STBase.StateAndFloat#{-5u,p-}{i} ds_s20p ds_s20f ->
+ let {
+ ds_s217 =
+ PrelBase.F#{-59,p-}{i}! [ds_s20f]; } in
+ let {
+ ds_s216 =
+ STBase.S#{-5D,p-}{i}! [ds_s20p];
+ } in
+ PrelTup.(,){-62,p-}{i}! [ds_s217 ds_s216];
+ };
+ };
+ };
+ };
+ };
+ };
+ } in
+ stg_c29C;
+d{-r7,x-} =
+ [] \u []
+ let {
+ ds_s258 =
+ [] \r [x_s21g]
+ let { s_s22a = [x_s21g] \r [ds_s215]
+ case
+ ds_s215{-lvs:x_s21g-} ::STBase.State{-3M,p-} GHC.RealWorld{-3s,p-}
+ of {
+ -- lvs: [ds_s215 x_s21g]; rhs lvs: [x_s21g]; uniq: c2bo
+ STBase.S#{-5D,p-}{i} ds_s21h ->
+ case x_s21g{-lvs:ds_s21h-} ::PrelBase.Int{-3g,p-} of {
+ -- lvs: [x_s21g ds_s21h]; rhs lvs: [ds_s21h]; uniq: c2bp
+ PrelBase.I#{-5b,p-}{i} ds_s21H ->
+ case
+ _ccall_ b [(STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-}) GHC.Int#{-3f,p-}]# [ds_s21h ds_s21H] ::STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-}
+ of {
+ -- lvs: [ds_s21h ds_s21H]; rhs lvs: []; uniq: c2bq
+ STBase.StateAndInt#{-5v,p-}{i} ds_s21S ds_s21I ->
+ let {
+ ds_s22c =
+ PrelBase.I#{-5b,p-}{i}! [ds_s21I]; } in
+ let {
+ ds_s22b =
+ STBase.S#{-5D,p-}{i}! [ds_s21S];
+ } in
+ PrelTup.(,){-62,p-}{i}! [ds_s22c ds_s22b];
+ };
+ };
+ } } in
+ let { s_s23h = [x_s21g] \r [ds_s22k]
+ case
+ ds_s22k{-lvs:x_s21g-} ::STBase.State{-3M,p-} GHC.RealWorld{-3s,p-}
+ of {
+ -- lvs: [x_s21g ds_s22k]; rhs lvs: [x_s21g]; uniq: c2br
+ STBase.S#{-5D,p-}{i} ds_s22t ->
+ case x_s21g{-lvs:ds_s22t-} ::PrelBase.Int{-3g,p-} of {
+ -- lvs: [x_s21g ds_s22t]; rhs lvs: [ds_s22t]; uniq: c2bs
+ PrelBase.I#{-5b,p-}{i} ds_s22T ->
+ case
+ _ccall_ b [(STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-}) GHC.Int#{-3f,p-}]# [ds_s22t ds_s22T] ::STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-}
+ of {
+ -- lvs: [ds_s22t ds_s22T]; rhs lvs: []; uniq: c2bt
+ STBase.StateAndInt#{-5v,p-}{i} ds_s234 ds_s22U ->
+ let {
+ ds_s23A =
+ PrelBase.I#{-5b,p-}{i}! [ds_s22U]; } in
+ let {
+ ds_s23z =
+ STBase.S#{-5D,p-}{i}! [ds_s234];
+ } in
+ PrelTup.(,){-62,p-}{i}! [ds_s23A ds_s23z];
+ };
+ };
+ } } in
+ let {
+ ds_s24V =
+ [] \r [y_s23K]
+ let {
+ stg_c28E =
+ (False, True, False, False, True) [y_s23K] \r [ds_s23y]
+ case
+ ds_s23y{-lvs:y_s23K-} ::STBase.State{-3M,p-} GHC.RealWorld{-3s,p-}
+ of {
+ -- lvs: [ds_s23y y_s23K]; rhs lvs: [y_s23K]; uniq: c2bu
+ STBase.S#{-5D,p-}{i} ds_s23L ->
+ case y_s23K{-lvs:ds_s23L-} ::PrelBase.Int{-3g,p-} of {
+ -- lvs: [y_s23K ds_s23L]; rhs lvs: [ds_s23L]; uniq: c2bv
+ PrelBase.I#{-5b,p-}{i} ds_s23U ->
+ case
+ lit_a19w{-lvs:ds_s23L, ds_s23U-} ::PrelBase.Float{-3c,p-}
+ of {
+ -- lvs: [ds_s23L ds_s23U]; rhs lvs: [ds_s23L ds_s23U]; uniq: c2bw
+ PrelBase.F#{-59,p-}{i} ds_s243 ->
+ case
+ lit_a19u{-lvs:ds_s23L, ds_s23U, ds_s243-} ::PrelBase.Double{-3a,p-}
+ of {
+ -- lvs: [ds_s23L ds_s23U ds_s243]; rhs lvs: [ds_s23L ds_s23U ds_s243]; uniq: c2bx
+ PrelBase.D#{-56,p-}{i} ds_s24t ->
+ case
+ _ccall_ c [(STBase.StateAndFloat#{-3C,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-}) GHC.Int#{-3f,p-} GHC.Char#{-37,p-} GHC.Float#{-3b,p-} GHC.Double#{-39,p-}]# [ds_s23L ds_s23U 'f' ds_s243 ds_s24t] ::STBase.StateAndFloat#{-3C,p-} GHC.RealWorld{-3s,p-}
+ of {
+ -- lvs: [ds_s23L ds_s23U ds_s243 ds_s24t]; rhs lvs: []; uniq: c2by
+ STBase.StateAndFloat#{-5u,p-}{i} ds_s24E ds_s24u ->
+ let {
+ ds_s24U =
+ PrelBase.F#{-59,p-}{i}! [ds_s24u]; } in
+ let {
+ ds_s24T =
+ STBase.S#{-5D,p-}{i}! [ds_s24E];
+ } in
+ PrelTup.(,){-62,p-}{i}! [ds_s24U ds_s24T];
+ };
+ };
+ };
+ };
+ };
+ } in
+ stg_c28E;
+ } in
+ STBase.thenPrimIO{-r4w,p-}
+ s_s23h ds_s24V;
+ } in
+ STBase.thenPrimIO{-r4w,p-}
+ s_s1Xu ds_s258;
+
+
+================================================================================
+Flat Abstract C:
+ED_(PrelNum_integerZu2_closure);
+ED_(PrelNum_integerZu1_closure);
+SET_STATIC_HDR(s25b_closure,PrelNum_ZcZ37_static_info,0,static ,ED_RO_)
+ , (W_)PrelNum_integerZu2_closure, (W_)PrelNum_integerZu1_closure
+};
+IFN_(ret_c2b9) {
+ID_(s25b_closure);
+ FB_
+ SpA[-1]=s25b_closure;
+ RetReg=StdUpdRetVecReg;
+ R1=R6;
+ SpA=SpA-1;
+ SpB=SpB-1;
+ ENT_VIA_NODE();
+ GRAN_EXEC(6,1,1,1,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+UNVECTBL(static,vtbl_c2b9,ret_c2b9)
+STATIC_ITBL(a19u_info,a19u_entry,StdErrorCode,1,-1,(STATIC_VHS+
+ 2),0,static const,IF_,0,0,0);
+IFN_(a19u_entry) {
+ED_(PrelNum_Z36d14_closure);
+ FB_
+ STK_CHK(1,1,5,0,0,0,1);
+ HEAP_CHK(1,(BH_HS+2),1);
+ SET_BH_HDR(Hp-(BH_HS+1),BH_UPD_info,0,(BH_VHS+2),0);
+ UPD_CAF(R1.p,Hp-(BH_HS+1));
+ PUSH_STD_UPD_FRAME(Hp-(BH_HS+1),0,0);
+ RetReg=(StgRetAddr)UNVEC(ret_c2b9,vtbl_c2b9);
+ R1.p=PrelNum_Z36d14_closure;
+ SpB=SpB+5;
+ ENT_VIA_NODE();
+ GRAN_EXEC(19,2,2,8,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+SET_STATIC_HDR(a19u_closure,a19u_info,0,static ,ID_RO_)
+ , (W_)0, (W_)0
+};
+ED_(PrelNum_integerZu1_closure);
+SET_STATIC_HDR(s25c_closure,PrelNum_ZcZ37_static_info,0,static ,ED_RO_)
+ , (W_)PrelNum_integerZu1_closure, (W_)PrelNum_integerZu1_closure
+};
+IFN_(ret_c2ba) {
+ID_(s25c_closure);
+ FB_
+ SpA[-1]=s25c_closure;
+ RetReg=StdUpdRetVecReg;
+ R1=R6;
+ SpA=SpA-1;
+ SpB=SpB-1;
+ ENT_VIA_NODE();
+ GRAN_EXEC(6,1,1,1,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+UNVECTBL(static,vtbl_c2ba,ret_c2ba)
+STATIC_ITBL(a19w_info,a19w_entry,StdErrorCode,1,-1,(STATIC_VHS+
+ 2),0,static const,IF_,0,0,0);
+IFN_(a19w_entry) {
+ED_(PrelNum_Z36d23_closure);
+ FB_
+ STK_CHK(1,1,5,0,0,0,1);
+ HEAP_CHK(1,(BH_HS+2),1);
+ SET_BH_HDR(Hp-(BH_HS+1),BH_UPD_info,0,(BH_VHS+2),0);
+ UPD_CAF(R1.p,Hp-(BH_HS+1));
+ PUSH_STD_UPD_FRAME(Hp-(BH_HS+1),0,0);
+ RetReg=(StgRetAddr)UNVEC(ret_c2ba,vtbl_c2ba);
+ R1.p=PrelNum_Z36d23_closure;
+ SpB=SpB+5;
+ ENT_VIA_NODE();
+ GRAN_EXEC(19,2,2,8,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+SET_STATIC_HDR(a19w_closure,a19w_info,0,static ,ID_RO_)
+ , (W_)0, (W_)0
+};
+IFN_(ret_c2bb) {
+ED_RO_(PrelBase_IZh_con_info);
+ED_(STBase_SZh_static_closure);
+ED_RO_(PrelTup_Z40Z44Z41_inregs_info);
+I_ s1W9;
+ FB_
+ HEAP_CHK(0,(_FHS+1),0);
+ {
+ I_ _ccall_result;
+ CALLER_SAVE_Base
+ CALLER_SAVE_SpA
+ CALLER_SAVE_SuA
+ CALLER_SAVE_SpB
+ CALLER_SAVE_SuB
+ CALLER_SAVE_Ret
+ CALLER_SAVE_Hp
+ CALLER_SAVE_HpLim
+ _ccall_result = (a());
+ CALLER_RESTORE_Base
+ CALLER_RESTORE_SpA
+ CALLER_RESTORE_SuA
+ CALLER_RESTORE_SpB
+ CALLER_RESTORE_SuB
+ CALLER_RESTORE_Ret
+ CALLER_RESTORE_Hp
+ CALLER_RESTORE_HpLim
+ CALLER_RESTORE_StdUpdRetVec
+ CALLER_RESTORE_StkStub
+ s1W9=_ccall_result;
}
-Test.c{-r81-} :: Int -> Char -> Float -> Double -> IoWorld -> (Float, IoWorld)
-_NI_
-Test.c{-r81-} =
- \ x1.r213 x2.r214 x3.r215 x4.r216 ds.d18 ->
- case
- (case
- (case ds.d18 of {
- IoWorld ds.d19# -> ds.d19#
- })
- of {
- a.d28# ->
- case
- (case x1.r213 of {
- I# ds.d20# -> ds.d20#
- })
- of {
- a.d29# ->
- case
- (case x2.r214 of {
- C# ds.d21# -> ds.d21#
- })
- of {
- a.d30# ->
- case
- (case x3.r215 of {
- F# ds.d22# -> ds.d22#
- })
- of {
- a.d31# ->
- case
- (case x4.r216 of {
- D# ds.d23# -> ds.d23#
- })
- of {
- a.d32# ->
- ( _CCALL_ c [Int#,
- Char#,
- Float#,
- Double#] Float# )!
- a.d28#
- a.d29#
- a.d30#
- a.d31#
- a.d32#
- }
- }
- }
- }
- })
- of {
- FloatPrimAndIoWorld ds.d24# ds.d25# ->
- let {
- a.d26 :: Float
- _NI_
- a.d26 = F#! ds.d24# } in
- let {
- a.d27 :: IoWorld
- _NI_
- a.d27 = IoWorld! ds.d25#
- } in Tup2! Float IoWorld a.d26 a.d27
+ SET_SPEC_HDR(Hp-_FHS,PrelBase_IZh_con_info,0,1,0);
+ *Hp=(W_)(s1W9);
+ R4.p=STBase_SZh_static_closure;
+ R3.p=Hp-_FHS;
+ SpB=SpB-1;
+ R2.d=PrelTup_Z40Z44Z41_inregs_info;
+ GRAN_EXEC(10,2,21,22,0);
+ JMP_(DIRECT((StgRetAddr)(SpB[1])));
+ FE_
+}
+UNVECTBL(static,vtbl_c2bb,ret_c2bb)
+STATIC_ITBL(s1MF_info,s1MF_entry,StdErrorCode,1,-1,STATIC_VHS,0,static const,IF_,0,0,0);
+IFN_(s1MF_entry) {
+ID_(s1MF_closure);
+IF_(s1MF_fast1);
+ FB_
+ ARGS_CHK_A_LOAD_NODE(1,s1MF_closure);
+ R1.p=*SpA;
+ SpA=SpA+1;
+ GRAN_EXEC(5,2,1,0,0);
+ JMP_(s1MF_fast1);
+ FE_
+}
+IFN_(s1MF_fast1) {
+ FB_
+ STK_CHK(1,0,1,0,0,0,0);
+ SpB[1]=(W_)(RetReg);
+ RetReg=(StgRetAddr)UNVEC(ret_c2bb,vtbl_c2bb);
+ SpB=SpB+1;
+ ENT_VIA_NODE();
+ GRAN_EXEC(3,1,1,1,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+SET_STATIC_HDR(s1MF_closure,s1MF_info,0,static ,ID_RO_)
+};
+IFN_(ret_c2bd) {
+ED_RO_(PrelBase_IZh_con_info);
+ED_(STBase_SZh_static_closure);
+ED_RO_(PrelTup_Z40Z44Z41_inregs_info);
+I_ s1X8;
+ FB_
+ HEAP_CHK(0,(_FHS+1),0);
+ {
+ I_ _ccall_result;
+ CALLER_SAVE_Base
+ CALLER_SAVE_SpA
+ CALLER_SAVE_SuA
+ CALLER_SAVE_SpB
+ CALLER_SAVE_SuB
+ CALLER_SAVE_Ret
+ CALLER_SAVE_Hp
+ CALLER_SAVE_HpLim
+ _ccall_result = (a());
+ CALLER_RESTORE_Base
+ CALLER_RESTORE_SpA
+ CALLER_RESTORE_SuA
+ CALLER_RESTORE_SpB
+ CALLER_RESTORE_SuB
+ CALLER_RESTORE_Ret
+ CALLER_RESTORE_Hp
+ CALLER_RESTORE_HpLim
+ CALLER_RESTORE_StdUpdRetVec
+ CALLER_RESTORE_StkStub
+ s1X8=_ccall_result;
+ }
+ SET_SPEC_HDR(Hp-_FHS,PrelBase_IZh_con_info,0,1,0);
+ *Hp=(W_)(s1X8);
+ R4.p=STBase_SZh_static_closure;
+ R3.p=Hp-_FHS;
+ SpB=SpB-1;
+ R2.d=PrelTup_Z40Z44Z41_inregs_info;
+ GRAN_EXEC(10,2,21,22,0);
+ JMP_(DIRECT((StgRetAddr)(SpB[1])));
+ FE_
+}
+UNVECTBL(static,vtbl_c2bd,ret_c2bd)
+STATIC_ITBL(s1Xu_info,s1Xu_entry,StdErrorCode,1,-1,STATIC_VHS,0,static const,IF_,0,0,0);
+IFN_(s1Xu_entry) {
+ID_(s1Xu_closure);
+IF_(s1Xu_fast1);
+ FB_
+ ARGS_CHK_A_LOAD_NODE(1,s1Xu_closure);
+ R1.p=*SpA;
+ SpA=SpA+1;
+ GRAN_EXEC(5,2,1,0,0);
+ JMP_(s1Xu_fast1);
+ FE_
+}
+IFN_(s1Xu_fast1) {
+ FB_
+ STK_CHK(1,0,1,0,0,0,0);
+ SpB[1]=(W_)(RetReg);
+ RetReg=(StgRetAddr)UNVEC(ret_c2bd,vtbl_c2bd);
+ SpB=SpB+1;
+ ENT_VIA_NODE();
+ GRAN_EXEC(3,1,1,1,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+SET_STATIC_HDR(s1Xu_closure,s1Xu_info,0,static ,ID_RO_)
+};
+STATIC_ITBL(Test_a_info,Test_a_entry,StdErrorCode,1,-1,(STATIC_VHS+
+ 2),0,const,EF_,0,0,0);
+FN_(Test_a_entry) {
+IF_(s1Xu_entry);
+ FB_
+ STK_CHK(1,0,4,0,0,0,1);
+ HEAP_CHK(1,(BH_HS+2),1);
+ SET_BH_HDR(Hp-(BH_HS+1),BH_UPD_info,0,(BH_VHS+2),0);
+ UPD_CAF(R1.p,Hp-(BH_HS+1));
+ PUSH_STD_UPD_FRAME(Hp-(BH_HS+1),0,0);
+ RetReg=StdUpdRetVecReg;
+ SpB=SpB+4;
+ GRAN_EXEC(16,2,1,8,0);
+ JMP_(s1Xu_entry);
+ FE_
+}
+SET_STATIC_HDR(Test_a_closure,Test_a_info,0,,ED_RO_)
+ , (W_)0, (W_)0
+};
+IFN_(ret_c2bg) {
+ED_RO_(PrelBase_IZh_con_info);
+ED_(STBase_SZh_static_closure);
+ED_RO_(PrelTup_Z40Z44Z41_inregs_info);
+I_ s1Yq;
+ FB_
+ HEAP_CHK(0,(_FHS+1),0);
+ {
+ I_ _ccall_result;
+ I_ _ccall_arg1=R3.i;
+ CALLER_SAVE_Base
+ CALLER_SAVE_SpA
+ CALLER_SAVE_SuA
+ CALLER_SAVE_SpB
+ CALLER_SAVE_SuB
+ CALLER_SAVE_Ret
+ CALLER_SAVE_Hp
+ CALLER_SAVE_HpLim
+ _ccall_result = (b((_ccall_arg1)));
+ CALLER_RESTORE_Base
+ CALLER_RESTORE_SpA
+ CALLER_RESTORE_SuA
+ CALLER_RESTORE_SpB
+ CALLER_RESTORE_SuB
+ CALLER_RESTORE_Ret
+ CALLER_RESTORE_Hp
+ CALLER_RESTORE_HpLim
+ CALLER_RESTORE_StdUpdRetVec
+ CALLER_RESTORE_StkStub
+ s1Yq=_ccall_result;
+ }
+ SET_SPEC_HDR(Hp-_FHS,PrelBase_IZh_con_info,0,1,0);
+ *Hp=(W_)(s1Yq);
+ R4.p=STBase_SZh_static_closure;
+ R3.p=Hp-_FHS;
+ SpB=SpB-1;
+ R2.d=PrelTup_Z40Z44Z41_inregs_info;
+ GRAN_EXEC(10,2,22,22,0);
+ JMP_(DIRECT((StgRetAddr)(SpB[1])));
+ FE_
+}
+UNVECTBL(static,vtbl_c2bg,ret_c2bg)
+IFN_(ret_c2bf) {
+ FB_
+ RetReg=(StgRetAddr)UNVEC(ret_c2bg,vtbl_c2bg);
+ R1.p=*SpA;
+ SpA=SpA+1;
+ ENT_VIA_NODE();
+ GRAN_EXEC(3,1,2,1,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+UNVECTBL(static,vtbl_c2bf,ret_c2bf)
+SPEC_N_ITBL(c2ac_info,c2ac_entry,StdErrorCode,1,-1,1,1,static const,IF_,0,0,0);
+IFN_(c2ac_entry) {
+IF_(c2ac_fast1);
+ FB_
+ ARGS_CHK_A(1);
+ R2.p=*SpA;
+ SpA=SpA+1;
+ GRAN_EXEC(5,2,1,0,0);
+ JMP_(c2ac_fast1);
+ FE_
+}
+IFN_(c2ac_fast1) {
+ FB_
+ STK_CHK(3,1,1,0,0,0,1);
+ SpB[1]=(W_)(RetReg);
+ RetReg=(StgRetAddr)UNVEC(ret_c2bf,vtbl_c2bf);
+ SpA[-1]=(P_)(R1.p[_FHS]);
+ R1=R2;
+ SpA=SpA-1;
+ SpB=SpB+1;
+ ENT_VIA_NODE();
+ GRAN_EXEC(5,1,2,2,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+STATIC_ITBL(Test_b_info,Test_b_entry,StdErrorCode,1,-1,STATIC_VHS,0,const,EF_,0,0,0);
+FN_(Test_b_entry) {
+ED_(Test_b_closure);
+EF_(Test_b_fast1);
+ FB_
+ ARGS_CHK_A_LOAD_NODE(1,Test_b_closure);
+ R1.p=*SpA;
+ SpA=SpA+1;
+ GRAN_EXEC(5,2,1,0,0);
+ JMP_(Test_b_fast1);
+ FE_
+}
+FN_(Test_b_fast1) {
+ID_RO_(c2ac_info);
+IF_(c2ac_entry);
+ FB_
+ HEAP_CHK(1,(_FHS+1),0);
+ SET_SPEC_HDR(Hp-_FHS,c2ac_info,0,1,1);
+ *Hp=(W_)(R1.p);
+ R1.p=Hp-_FHS;
+ GRAN_EXEC(5,2,0,2,0);
+ JMP_(c2ac_entry);
+ FE_
+}
+SET_STATIC_HDR(Test_b_closure,Test_b_info,0,,ED_RO_)
+};
+IFN_(ret_c2bm) {
+ED_RO_(PrelBase_FZh_con_info);
+ED_(STBase_SZh_static_closure);
+ED_RO_(PrelTup_Z40Z44Z41_inregs_info);
+StgFloat s20f;
+ FB_
+ HEAP_CHK(0,(_FHS+1),0);
+ {
+ StgFloat _ccall_result;
+ I_ _ccall_arg1=(I_)(SpB[-2]);
+ StgChar _ccall_arg2=(StgChar)(SpB[-1]);
+ StgFloat _ccall_arg3=PK_FLT(SpB);
+ StgDouble _ccall_arg4=DblReg1;
+ CALLER_SAVE_Base
+ CALLER_SAVE_SpA
+ CALLER_SAVE_SuA
+ CALLER_SAVE_SpB
+ CALLER_SAVE_SuB
+ CALLER_SAVE_Ret
+ CALLER_SAVE_Hp
+ CALLER_SAVE_HpLim
+ _ccall_result = (c((_ccall_arg1),(_ccall_arg2),(_ccall_arg3),(_ccall_arg4)));
+ CALLER_RESTORE_Base
+ CALLER_RESTORE_SpA
+ CALLER_RESTORE_SuA
+ CALLER_RESTORE_SpB
+ CALLER_RESTORE_SuB
+ CALLER_RESTORE_Ret
+ CALLER_RESTORE_Hp
+ CALLER_RESTORE_HpLim
+ CALLER_RESTORE_StdUpdRetVec
+ CALLER_RESTORE_StkStub
+ s20f=_ccall_result;
+ }
+ SET_SPEC_HDR(Hp-_FHS,PrelBase_FZh_con_info,0,1,0);
+ ASSIGN_FLT(Hp,s20f);
+ R4.p=STBase_SZh_static_closure;
+ R3.p=Hp-_FHS;
+ SpB=SpB-4;
+ R2.d=PrelTup_Z40Z44Z41_inregs_info;
+ GRAN_EXEC(10,2,25,22,0);
+ JMP_(DIRECT((StgRetAddr)(SpB[1])));
+ FE_
+}
+UNVECTBL(static,vtbl_c2bm,ret_c2bm)
+IFN_(ret_c2bl) {
+ FB_
+ RetReg=(StgRetAddr)UNVEC(ret_c2bm,vtbl_c2bm);
+ R1.p=*SpA;
+ ASSIGN_FLT(SpB+1,FltReg1);
+ SpA=SpA+4;
+ SpB=SpB+1;
+ ENT_VIA_NODE();
+ GRAN_EXEC(4,1,2,1,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+UNVECTBL(static,vtbl_c2bl,ret_c2bl)
+IFN_(ret_c2bk) {
+ FB_
+ RetReg=(StgRetAddr)UNVEC(ret_c2bl,vtbl_c2bl);
+ R1.p=SpA[1];
+ SpB[1]=(W_)(R3.c);
+ SpA[1]=StkStubReg;
+ SpB=SpB+1;
+ ENT_VIA_NODE();
+ GRAN_EXEC(3,1,2,2,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+UNVECTBL(static,vtbl_c2bk,ret_c2bk)
+IFN_(ret_c2bj) {
+ FB_
+ RetReg=(StgRetAddr)UNVEC(ret_c2bk,vtbl_c2bk);
+ R1.p=SpA[2];
+ SpB[1]=(W_)(R3.i);
+ SpA[2]=StkStubReg;
+ SpB=SpB+1;
+ ENT_VIA_NODE();
+ GRAN_EXEC(3,1,2,2,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+UNVECTBL(static,vtbl_c2bj,ret_c2bj)
+IFN_(ret_c2bi) {
+ FB_
+ RetReg=(StgRetAddr)UNVEC(ret_c2bj,vtbl_c2bj);
+ R1.p=SpA[3];
+ SpA[3]=StkStubReg;
+ ENT_VIA_NODE();
+ GRAN_EXEC(2,1,2,2,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+UNVECTBL(static,vtbl_c2bi,ret_c2bi)
+SPEC_N_ITBL(c29C_info,c29C_entry,StdErrorCode,1,-1,4,4,static const,IF_,0,0,0);
+IFN_(c29C_entry) {
+IF_(c29C_fast1);
+ FB_
+ ARGS_CHK_A(1);
+ R2.p=*SpA;
+ SpA=SpA+1;
+ GRAN_EXEC(5,2,1,0,0);
+ JMP_(c29C_fast1);
+ FE_
+}
+IFN_(c29C_fast1) {
+ FB_
+ STK_CHK(3,4,4,0,0,0,1);
+ SpB[1]=(W_)(RetReg);
+ RetReg=(StgRetAddr)UNVEC(ret_c2bi,vtbl_c2bi);
+ SpA[-4]=(P_)(R1.p[(_FHS+3)]);
+ SpA[-3]=(P_)(R1.p[(_FHS+2)]);
+ SpA[-2]=(P_)(R1.p[(_FHS+1)]);
+ SpA[-1]=(P_)(R1.p[_FHS]);
+ R1=R2;
+ SpA=SpA-4;
+ SpB=SpB+1;
+ ENT_VIA_NODE();
+ GRAN_EXEC(5,1,5,5,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+STATIC_ITBL(Test_c_info,Test_c_entry,StdErrorCode,1,-1,STATIC_VHS,0,const,EF_,0,0,0);
+FN_(Test_c_entry) {
+ED_(Test_c_closure);
+EF_(Test_c_fast4);
+ FB_
+ ARGS_CHK_A_LOAD_NODE(4,Test_c_closure);
+ R1.p=*SpA;
+ R2.p=SpA[1];
+ R3.p=SpA[2];
+ R4.p=SpA[3];
+ SpA=SpA+4;
+ GRAN_EXEC(5,2,4,0,0);
+ JMP_(Test_c_fast4);
+ FE_
+}
+FN_(Test_c_fast4) {
+ID_RO_(c29C_info);
+IF_(c29C_entry);
+ FB_
+ HEAP_CHK(15,(_FHS+4),0);
+ SET_SPEC_HDR(Hp-(_FHS+3),c29C_info,0,4,4);
+ Hp[-3]=(W_)(R1.p);
+ Hp[-2]=(W_)(R2.p);
+ Hp[-1]=(W_)(R3.p);
+ *Hp=(W_)(R4.p);
+ R1.p=Hp-(_FHS+3);
+ GRAN_EXEC(5,2,0,5,0);
+ JMP_(c29C_entry);
+ FE_
+}
+SET_STATIC_HDR(Test_c_closure,Test_c_info,0,,ED_RO_)
+};
+IFN_(ret_c2bp) {
+ED_RO_(PrelBase_IZh_con_info);
+ED_(STBase_SZh_static_closure);
+ED_RO_(PrelTup_Z40Z44Z41_inregs_info);
+I_ s21I;
+ FB_
+ HEAP_CHK(0,(_FHS+1),0);
+ {
+ I_ _ccall_result;
+ I_ _ccall_arg1=R3.i;
+ CALLER_SAVE_Base
+ CALLER_SAVE_SpA
+ CALLER_SAVE_SuA
+ CALLER_SAVE_SpB
+ CALLER_SAVE_SuB
+ CALLER_SAVE_Ret
+ CALLER_SAVE_Hp
+ CALLER_SAVE_HpLim
+ _ccall_result = (b((_ccall_arg1)));
+ CALLER_RESTORE_Base
+ CALLER_RESTORE_SpA
+ CALLER_RESTORE_SuA
+ CALLER_RESTORE_SpB
+ CALLER_RESTORE_SuB
+ CALLER_RESTORE_Ret
+ CALLER_RESTORE_Hp
+ CALLER_RESTORE_HpLim
+ CALLER_RESTORE_StdUpdRetVec
+ CALLER_RESTORE_StkStub
+ s21I=_ccall_result;
+ }
+ SET_SPEC_HDR(Hp-_FHS,PrelBase_IZh_con_info,0,1,0);
+ *Hp=(W_)(s21I);
+ R4.p=STBase_SZh_static_closure;
+ R3.p=Hp-_FHS;
+ SpB=SpB-1;
+ R2.d=PrelTup_Z40Z44Z41_inregs_info;
+ GRAN_EXEC(10,2,22,22,0);
+ JMP_(DIRECT((StgRetAddr)(SpB[1])));
+ FE_
+}
+UNVECTBL(static,vtbl_c2bp,ret_c2bp)
+IFN_(ret_c2bo) {
+ FB_
+ RetReg=(StgRetAddr)UNVEC(ret_c2bp,vtbl_c2bp);
+ R1.p=*SpA;
+ SpA=SpA+1;
+ ENT_VIA_NODE();
+ GRAN_EXEC(3,1,2,1,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+UNVECTBL(static,vtbl_c2bo,ret_c2bo)
+SPEC_N_ITBL(s22a_info,s22a_entry,StdErrorCode,1,-1,1,1,static const,IF_,0,0,0);
+IFN_(s22a_entry) {
+IF_(s22a_fast1);
+ FB_
+ ARGS_CHK_A(1);
+ R2.p=*SpA;
+ SpA=SpA+1;
+ GRAN_EXEC(5,2,1,0,0);
+ JMP_(s22a_fast1);
+ FE_
+}
+IFN_(s22a_fast1) {
+ FB_
+ STK_CHK(3,1,1,0,0,0,1);
+ SpB[1]=(W_)(RetReg);
+ RetReg=(StgRetAddr)UNVEC(ret_c2bo,vtbl_c2bo);
+ SpA[-1]=(P_)(R1.p[_FHS]);
+ R1=R2;
+ SpA=SpA-1;
+ SpB=SpB+1;
+ ENT_VIA_NODE();
+ GRAN_EXEC(5,1,2,2,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+IFN_(ret_c2bs) {
+ED_RO_(PrelBase_IZh_con_info);
+ED_(STBase_SZh_static_closure);
+ED_RO_(PrelTup_Z40Z44Z41_inregs_info);
+I_ s22U;
+ FB_
+ HEAP_CHK(0,(_FHS+1),0);
+ {
+ I_ _ccall_result;
+ I_ _ccall_arg1=R3.i;
+ CALLER_SAVE_Base
+ CALLER_SAVE_SpA
+ CALLER_SAVE_SuA
+ CALLER_SAVE_SpB
+ CALLER_SAVE_SuB
+ CALLER_SAVE_Ret
+ CALLER_SAVE_Hp
+ CALLER_SAVE_HpLim
+ _ccall_result = (b((_ccall_arg1)));
+ CALLER_RESTORE_Base
+ CALLER_RESTORE_SpA
+ CALLER_RESTORE_SuA
+ CALLER_RESTORE_SpB
+ CALLER_RESTORE_SuB
+ CALLER_RESTORE_Ret
+ CALLER_RESTORE_Hp
+ CALLER_RESTORE_HpLim
+ CALLER_RESTORE_StdUpdRetVec
+ CALLER_RESTORE_StkStub
+ s22U=_ccall_result;
+ }
+ SET_SPEC_HDR(Hp-_FHS,PrelBase_IZh_con_info,0,1,0);
+ *Hp=(W_)(s22U);
+ R4.p=STBase_SZh_static_closure;
+ R3.p=Hp-_FHS;
+ SpB=SpB-1;
+ R2.d=PrelTup_Z40Z44Z41_inregs_info;
+ GRAN_EXEC(10,2,22,22,0);
+ JMP_(DIRECT((StgRetAddr)(SpB[1])));
+ FE_
+}
+UNVECTBL(static,vtbl_c2bs,ret_c2bs)
+IFN_(ret_c2br) {
+ FB_
+ RetReg=(StgRetAddr)UNVEC(ret_c2bs,vtbl_c2bs);
+ R1.p=*SpA;
+ SpA=SpA+1;
+ ENT_VIA_NODE();
+ GRAN_EXEC(3,1,2,1,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+UNVECTBL(static,vtbl_c2br,ret_c2br)
+SPEC_N_ITBL(s23h_info,s23h_entry,StdErrorCode,1,-1,1,1,static const,IF_,0,0,0);
+IFN_(s23h_entry) {
+IF_(s23h_fast1);
+ FB_
+ ARGS_CHK_A(1);
+ R2.p=*SpA;
+ SpA=SpA+1;
+ GRAN_EXEC(5,2,1,0,0);
+ JMP_(s23h_fast1);
+ FE_
+}
+IFN_(s23h_fast1) {
+ FB_
+ STK_CHK(3,1,1,0,0,0,1);
+ SpB[1]=(W_)(RetReg);
+ RetReg=(StgRetAddr)UNVEC(ret_c2br,vtbl_c2br);
+ SpA[-1]=(P_)(R1.p[_FHS]);
+ R1=R2;
+ SpA=SpA-1;
+ SpB=SpB+1;
+ ENT_VIA_NODE();
+ GRAN_EXEC(5,1,2,2,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+IFN_(ret_c2bx) {
+ED_RO_(PrelBase_FZh_con_info);
+ED_(STBase_SZh_static_closure);
+ED_RO_(PrelTup_Z40Z44Z41_inregs_info);
+StgFloat s24u;
+ FB_
+ HEAP_CHK(0,(_FHS+1),0);
+ {
+ StgFloat _ccall_result;
+ I_ _ccall_arg1=(I_)(SpB[-1]);
+ StgChar _ccall_arg2=(C_)'f';
+ StgFloat _ccall_arg3=PK_FLT(SpB);
+ StgDouble _ccall_arg4=DblReg1;
+ CALLER_SAVE_Base
+ CALLER_SAVE_SpA
+ CALLER_SAVE_SuA
+ CALLER_SAVE_SpB
+ CALLER_SAVE_SuB
+ CALLER_SAVE_Ret
+ CALLER_SAVE_Hp
+ CALLER_SAVE_HpLim
+ _ccall_result = (c((_ccall_arg1),(_ccall_arg2),(_ccall_arg3),(_ccall_arg4)));
+ CALLER_RESTORE_Base
+ CALLER_RESTORE_SpA
+ CALLER_RESTORE_SuA
+ CALLER_RESTORE_SpB
+ CALLER_RESTORE_SuB
+ CALLER_RESTORE_Ret
+ CALLER_RESTORE_Hp
+ CALLER_RESTORE_HpLim
+ CALLER_RESTORE_StdUpdRetVec
+ CALLER_RESTORE_StkStub
+ s24u=_ccall_result;
}
-Test.d{-r82-} :: IoWorld -> (Float, IoWorld)
-_NI_
-Test.d{-r82-} =
- let {
- a.d36 :: Int -> IoWorld -> (Float, IoWorld)
- _NI_
- a.d36 =
- \ x.r217 ->
- let {
- a.d35 :: Int -> IoWorld -> (Float, IoWorld)
- _NI_
- a.d35 =
- \ y.r218 ->
- (let {
- a.d33 :: Char
- _NI_
- a.d33 = C#! 'f'#
- } in Test.c{-r81-} y.r218 a.d33) lit.t443 lit.t444
- } in
- (let {
- a.d34 :: IoWorld -> (Int, IoWorld)
- _NI_
- a.d34 = Test.b{-r80-} x.r217
- } in ((thenIO{-r102-} Int) Float) a.d34) a.d35
- } in ((thenIO{-r102-} Int) Float) Test.a{-r79-} a.d36
-{- end plain CoRec -}
+ SET_SPEC_HDR(Hp-_FHS,PrelBase_FZh_con_info,0,1,0);
+ ASSIGN_FLT(Hp,s24u);
+ R4.p=STBase_SZh_static_closure;
+ R3.p=Hp-_FHS;
+ SpB=SpB-3;
+ R2.d=PrelTup_Z40Z44Z41_inregs_info;
+ GRAN_EXEC(11,2,24,22,0);
+ JMP_(DIRECT((StgRetAddr)(SpB[1])));
+ FE_
+}
+UNVECTBL(static,vtbl_c2bx,ret_c2bx)
+IFN_(ret_c2bw) {
+ID_(a19u_closure);
+ FB_
+ RetReg=(StgRetAddr)UNVEC(ret_c2bx,vtbl_c2bx);
+ R1.p=a19u_closure;
+ ASSIGN_FLT(SpB+1,FltReg1);
+ SpB=SpB+1;
+ ENT_VIA_NODE();
+ GRAN_EXEC(5,1,1,1,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+UNVECTBL(static,vtbl_c2bw,ret_c2bw)
+IFN_(ret_c2bv) {
+ID_(a19w_closure);
+ FB_
+ RetReg=(StgRetAddr)UNVEC(ret_c2bw,vtbl_c2bw);
+ R1.p=a19w_closure;
+ SpB[1]=(W_)(R3.i);
+ SpB=SpB+1;
+ ENT_VIA_NODE();
+ GRAN_EXEC(5,1,1,1,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+UNVECTBL(static,vtbl_c2bv,ret_c2bv)
+IFN_(ret_c2bu) {
+ FB_
+ RetReg=(StgRetAddr)UNVEC(ret_c2bv,vtbl_c2bv);
+ R1.p=*SpA;
+ SpA=SpA+1;
+ ENT_VIA_NODE();
+ GRAN_EXEC(3,1,2,1,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+UNVECTBL(static,vtbl_c2bu,ret_c2bu)
+SPEC_N_ITBL(c28E_info,c28E_entry,StdErrorCode,1,-1,1,1,static const,IF_,0,0,0);
+IFN_(c28E_entry) {
+IF_(c28E_fast1);
+ FB_
+ ARGS_CHK_A(1);
+ R2.p=*SpA;
+ SpA=SpA+1;
+ GRAN_EXEC(5,2,1,0,0);
+ JMP_(c28E_fast1);
+ FE_
+}
+IFN_(c28E_fast1) {
+ FB_
+ STK_CHK(3,1,3,0,0,0,1);
+ SpB[1]=(W_)(RetReg);
+ RetReg=(StgRetAddr)UNVEC(ret_c2bu,vtbl_c2bu);
+ SpA[-1]=(P_)(R1.p[_FHS]);
+ R1=R2;
+ SpA=SpA-1;
+ SpB=SpB+1;
+ ENT_VIA_NODE();
+ GRAN_EXEC(5,1,2,2,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+SPEC_N_ITBL(s24V_info,s24V_entry,StdErrorCode,1,-1,1,0,static const,IF_,0,0,0);
+IFN_(s24V_entry) {
+IF_(s24V_fast1);
+ FB_
+ ARGS_CHK_A(1);
+ R2.p=*SpA;
+ SpA=SpA+1;
+ GRAN_EXEC(5,2,1,0,0);
+ JMP_(s24V_fast1);
+ FE_
+}
+IFN_(s24V_fast1) {
+ID_RO_(c28E_info);
+IF_(c28E_entry);
+ FB_
+ HEAP_CHK(3,(_FHS+1),1);
+ SET_SPEC_HDR(Hp-_FHS,c28E_info,0,1,1);
+ *Hp=(W_)(R2.p);
+ R1.p=Hp-_FHS;
+ GRAN_EXEC(5,2,0,2,0);
+ JMP_(c28E_entry);
+ FE_
+}
+SPEC_N_ITBL(s258_info,s258_entry,StdErrorCode,1,-1,1,0,static const,IF_,0,0,0);
+IFN_(s258_entry) {
+IF_(s258_fast1);
+ FB_
+ ARGS_CHK_A(1);
+ R2.p=*SpA;
+ SpA=SpA+1;
+ GRAN_EXEC(5,2,1,0,0);
+ JMP_(s258_fast1);
+ FE_
+}
+IFN_(s258_fast1) {
+ID_RO_(s22a_info);
+ID_RO_(s23h_info);
+ID_RO_(s24V_info);
+ED_(STBase_thenPrimIO_closure);
+ FB_
+ STK_CHK(3,2,0,0,0,0,1);
+ HEAP_CHK(3,((_FHS*3)+3),1);
+ SET_SPEC_HDR(Hp-((_FHS*3)+2),s22a_info,0,1,1);
+ Hp[-((_FHS*2)+2)]=(W_)(R2.p);
+ SET_SPEC_HDR(Hp-((_FHS*2)+1),s23h_info,0,1,1);
+ Hp[-(_FHS+1)]=(W_)(R2.p);
+ SET_SPEC_HDR(Hp-_FHS,s24V_info,0,1,0);
+ SpA[-1]=Hp-_FHS;
+ SpA[-2]=Hp-((_FHS*2)+1);
+ R1.p=STBase_thenPrimIO_closure;
+ SpA=SpA-2;
+ ENT_VIA_NODE();
+ GRAN_EXEC(11,2,3,7,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+STATIC_ITBL(Test_d_info,Test_d_entry,StdErrorCode,1,-1,(STATIC_VHS+
+ 2),0,const,EF_,0,0,0);
+FN_(Test_d_entry) {
+ID_RO_(s258_info);
+ID_(s1Xu_closure);
+ED_(STBase_thenPrimIO_closure);
+ FB_
+ STK_CHK(1,2,4,0,0,0,1);
+ HEAP_CHK(1,(BH_HS+_FHS+3),1);
+ SET_BH_HDR(Hp-(BH_HS+_FHS+2),BH_UPD_info,0,(BH_VHS+2),0);
+ UPD_CAF(R1.p,Hp-(BH_HS+_FHS+2));
+ PUSH_STD_UPD_FRAME(Hp-(BH_HS+_FHS+2),0,0);
+ SET_SPEC_HDR(Hp-_FHS,s258_info,0,1,0);
+ SpA[-1]=Hp-_FHS;
+ SpA[-2]=s1Xu_closure;
+ RetReg=StdUpdRetVecReg;
+ R1.p=STBase_thenPrimIO_closure;
+ SpA=SpA-2;
+ SpB=SpB+4;
+ ENT_VIA_NODE();
+ GRAN_EXEC(23,2,3,11,0);
+ JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p)))));
+ FE_
+}
+SET_STATIC_HDR(Test_d_closure,Test_d_info,0,,ED_RO_)
+ , (W_)0, (W_)0
+};
+ghc: module version changed to 1; reason: no old .hi file