Created
December 17, 2013 01:56
-
-
Save master-q/7998665 to your computer and use it in GitHub Desktop.
https://github.com/ajhc/ajhc/issues/67 tdir/main_code.c
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
char jhc_c_compile[] = "gcc tdir/rts/profile.c tdir/rts/rts_support.c tdir/rts/gc_none.c tdir/rts/jhc_rts.c tdir/lib/lib_cbits.c tdir/rts/gc_jgc.c tdir/rts/stableptr.c tdir/rts/conc.c -Itdir/cbits -Itdir tdir/main_code.c -o hs.out '-std=gnu99' -D_GNU_SOURCE '-falign-functions=4' -ffast-math -Wextra -Wall -Wno-unused-parameter -fno-strict-aliasing -g -lm '-D_JHC_GC=_JHC_GC_JGC' '-D_JHC_CONC=_JHC_CONC_NONE'"; | |
char jhc_command[] = "ajhc Main.hs -fdebug --tdir=tdir"; | |
char jhc_version[] = "ajhc 0.8.0.10 (ef04922345d3503235620c86405af838f0271347)"; | |
#include "jhc_rts_header.h" | |
struct s_caches_pub { | |
struct s_cache *cCJhc_Type_Basic_Integer; | |
struct s_cache *cCJhc_Prim_Prim_$x3a; | |
struct s_cache *cCJhc_Prim_Prim_$LccR; | |
struct s_cache *cFtheMain$d4; | |
struct s_cache *cFtheMain$d3; | |
struct s_cache *cFtheMain$d5; | |
struct s_cache *cFtheMain$d2; | |
struct s_cache *cFR$__fJhc_Basics_$pp; | |
struct s_cache *cFJhc_Show_shows; | |
struct s_cache *cFW$__fJhc_Inst_Show_showWordMax; | |
}; | |
#include <stdio.h> | |
#include <wchar.h> | |
enum { | |
CJhc_Prim_Prim_$BE = 1, | |
CJhc_Prim_Prim_$LR = 0, | |
CJhc_Prim_Prim_$x3a = 0, | |
CJhc_Type_Basic_Char = 0, | |
CJhc_Type_Basic_Integer = 0, | |
CJhc_Type_Word_Int = 0, | |
TJhc_Prim_Prim_$LccR = 0, | |
TJhc_Prim_Prim_Bool = 1, | |
TJhc_Type_Basic_Integer = 2 | |
}; | |
struct sCJhc_Prim_Prim_$LccR A_ALIGNED; | |
struct sCJhc_Prim_Prim_$x3a A_ALIGNED; | |
struct sCJhc_Type_Basic_Integer A_ALIGNED; | |
struct sCJhc_Type_Word_Int A_ALIGNED; | |
struct sFJhc_Show_shows A_ALIGNED; | |
struct sFR$__fJhc_Basics_$pp A_ALIGNED; | |
struct sFW$__fJhc_Inst_Show_showWordMax A_ALIGNED; | |
struct sFtheMain$d2 A_ALIGNED; | |
struct sFtheMain$d3 A_ALIGNED; | |
struct sFtheMain$d4 A_ALIGNED; | |
struct sFtheMain$d5 A_ALIGNED; | |
struct sTJhc_Prim_Prim_$LccR A_ALIGNED; | |
struct sCJhc_Prim_Prim_$LccR { | |
sptr_t a1; | |
sptr_t a2; | |
sptr_t a3; | |
}; | |
struct sCJhc_Prim_Prim_$x3a { | |
sptr_t a1; | |
sptr_t a2; | |
}; | |
struct sCJhc_Type_Basic_Integer { | |
uintmax_t a1; | |
}; | |
struct sCJhc_Type_Word_Int { | |
uint32_t a1; | |
}; | |
struct sFJhc_Show_shows { | |
fptr_t head; | |
wptr_t a1; | |
sptr_t a2; | |
wptr_t a3; | |
}; | |
struct sFR$__fJhc_Basics_$pp { | |
fptr_t head; | |
sptr_t a1; | |
wptr_t a2; | |
}; | |
struct sFW$__fJhc_Inst_Show_showWordMax { | |
fptr_t head; | |
wptr_t a2; | |
uintmax_t a1; | |
}; | |
struct sFtheMain$d2 { | |
fptr_t head; | |
}; | |
struct sFtheMain$d3 { | |
fptr_t head; | |
}; | |
struct sFtheMain$d4 { | |
fptr_t head; | |
wptr_t a1; | |
}; | |
struct sFtheMain$d5 { | |
fptr_t head; | |
sptr_t a1; | |
}; | |
struct sTJhc_Prim_Prim_$LccR { | |
what_t what; | |
wptr_t a1; | |
wptr_t a2; | |
wptr_t a3; | |
}; | |
void jhc_hs_init(gc_t gc,arena_t arena) ; | |
static wptr_t E__fJhc_Show_shows(gc_t gc,arena_t arena,struct sFJhc_Show_shows* arg) A_STD A_FALIGNED; | |
static wptr_t E__fR$__fJhc_Basics_$pp(gc_t gc,arena_t arena,struct sFR$__fJhc_Basics_$pp* arg) A_STD A_FALIGNED; | |
static wptr_t E__fW$__fJhc_Inst_Show_showWordMax(gc_t gc,arena_t arena,struct sFW$__fJhc_Inst_Show_showWordMax* arg) A_STD A_FALIGNED; | |
static wptr_t E__ftheMain$d2(gc_t gc,arena_t arena,struct sFtheMain$d2* arg) A_STD A_FALIGNED; | |
static wptr_t E__ftheMain$d3(gc_t gc,arena_t arena,struct sFtheMain$d3* arg) A_STD A_FALIGNED; | |
static wptr_t E__ftheMain$d4(gc_t gc,arena_t arena,struct sFtheMain$d4* arg) A_STD A_FALIGNED; | |
static wptr_t E__ftheMain$d5(gc_t gc,arena_t arena,struct sFtheMain$d5* arg) A_STD A_FALIGNED; | |
void _amain(void) ; | |
static struct tup1 bRfW$__fR$__fMain_wwc(gc_t gc,arena_t arena,uintmax_t v135371087,wptr_t v29375222,wptr_t v44000781,sptr_t v215884592) A_STD; | |
static struct tup1 bRfW$__fW$__fData_List_610__lgo(gc_t gc,arena_t arena,wptr_t v209623990,sptr_t v227981241,wptr_t v105553558,sptr_t v61835305) A_STD; | |
static void b__main(gc_t gc,arena_t arena) A_STD; | |
static wptr_t fJhc_Basics_$pp(gc_t gc,arena_t arena,wptr_t v132,wptr_t v134) A_STD A_MALLOC; | |
static wptr_t fJhc_Show_shows(gc_t gc,arena_t arena,wptr_t v1462509595,sptr_t v80100070,wptr_t v216085086) A_STD A_MALLOC; | |
static wptr_t fJhc_Show_showsPrec(gc_t gc,arena_t arena,wptr_t v1333402651,wptr_t v194508206,sptr_t v80256462,wptr_t v75583672) A_STD A_MALLOC; | |
static wptr_t fJhc_Show_showsPrec$d2(gc_t gc,arena_t arena,uintmax_t v80100076,wptr_t v123872602) A_STD A_MALLOC; | |
static wptr_t fPrelude_IO_10__getContents$t(gc_t gc,arena_t arena) A_STD A_MALLOC; | |
static wptr_t fR$__fJhc_Basics_$pp(gc_t gc,arena_t arena,sptr_t v110947982,wptr_t v29534740) A_STD A_MALLOC; | |
static wptr_t fW$__fJhc_Inst_Show_showWordMax(gc_t gc,arena_t arena,uintmax_t v1817845811,wptr_t v1821122605) A_STD A_MALLOC; | |
static struct tup1 fW$__fR$__fMain_wwc(gc_t gc,arena_t arena,uintmax_t v135370990,wptr_t v29375124,wptr_t v44000682,sptr_t v215884492) A_STD; | |
static uint16_t fW$__fSpec$__Jhc_List_217_fJhc_List_elem(gc_t gc,arena_t arena,wptr_t v454,wptr_t v457) A_STD; | |
static struct tup1 fW$__fW$__fData_List_610__lgo(gc_t gc,arena_t arena,wptr_t v209623812,wptr_t v227981062,wptr_t v105553378,sptr_t v61835124) A_STD; | |
static void ftheMain(gc_t gc,arena_t arena) A_STD; | |
static wptr_t ftheMain$d2(gc_t gc,arena_t arena) A_STD A_MALLOC; | |
static wptr_t ftheMain$d3(gc_t gc,arena_t arena) A_STD A_MALLOC; | |
static wptr_t ftheMain$d4(gc_t gc,arena_t arena,wptr_t v29375120) A_STD A_MALLOC; | |
static wptr_t ftheMain$d5(gc_t gc,arena_t arena,sptr_t v29042940) A_STD A_MALLOC; | |
struct tup5 { | |
sptr_t t0; | |
sptr_t t1; | |
}; | |
struct tup3 { | |
sptr_t t0; | |
sptr_t t1; | |
sptr_t t2; | |
}; | |
struct tup1 { | |
wptr_t t0; | |
sptr_t t1; | |
wptr_t t2; | |
}; | |
/* CAFS */ | |
/* (HcNode CJhc.Type.Basic.Integer [Left 0],1) */ | |
static const struct sCJhc_Type_Basic_Integer _c1 = {.a1 = 0}; | |
#define c1 (TO_SPTR_C(P_WHNF, (sptr_t)&_c1)) | |
/* (HcNode CJhc.Prim.Prim.: [Left &("CJhc.Type.Basic.Char" 160),Left &("CJhc.Prim.Prim.[]")],2) */ | |
static const struct sCJhc_Prim_Prim_$x3a _c2 = {.a1 = (sptr_t)RAW_SET_UF(160), .a2 = (sptr_t)SET_RAW_TAG(CJhc_Prim_Prim_$BE)}; | |
#define c2 (TO_SPTR_C(P_WHNF, (sptr_t)&_c2)) | |
/* (HcNode CJhc.Prim.Prim.: [Left &("CJhc.Type.Basic.Char" 11),Right 2],3) */ | |
static const struct sCJhc_Prim_Prim_$x3a _c3 = {.a1 = (sptr_t)RAW_SET_UF(11), .a2 = c2}; | |
#define c3 (TO_SPTR_C(P_WHNF, (sptr_t)&_c3)) | |
/* (HcNode CJhc.Prim.Prim.: [Left &("CJhc.Type.Basic.Char" 12),Right 3],4) */ | |
static const struct sCJhc_Prim_Prim_$x3a _c4 = {.a1 = (sptr_t)RAW_SET_UF(12), .a2 = c3}; | |
#define c4 (TO_SPTR_C(P_WHNF, (sptr_t)&_c4)) | |
/* (HcNode CJhc.Prim.Prim.: [Left &("CJhc.Type.Basic.Char" 13),Right 4],5) */ | |
static const struct sCJhc_Prim_Prim_$x3a _c5 = {.a1 = (sptr_t)RAW_SET_UF(13), .a2 = c4}; | |
#define c5 (TO_SPTR_C(P_WHNF, (sptr_t)&_c5)) | |
/* (HcNode CJhc.Prim.Prim.: [Left &("CJhc.Type.Basic.Char" 10),Right 5],6) */ | |
static const struct sCJhc_Prim_Prim_$x3a _c6 = {.a1 = (sptr_t)RAW_SET_UF(10), .a2 = c5}; | |
#define c6 (TO_SPTR_C(P_WHNF, (sptr_t)&_c6)) | |
/* (HcNode CJhc.Prim.Prim.: [Left &("CJhc.Type.Basic.Char" 9),Right 6],7) */ | |
static const struct sCJhc_Prim_Prim_$x3a _c7 = {.a1 = (sptr_t)RAW_SET_UF(9), .a2 = c6}; | |
#define c7 (TO_SPTR_C(P_WHNF, (sptr_t)&_c7)) | |
/* (HcNode CJhc.Prim.Prim.: [Left &("CJhc.Type.Basic.Char" 32),Right 7],8) */ | |
static const struct sCJhc_Prim_Prim_$x3a _c8 = {.a1 = (sptr_t)RAW_SET_UF(' '), .a2 = c7}; | |
#define c8 (TO_SPTR_C(P_WHNF, (sptr_t)&_c8)) | |
/* (HcNode CJhc.Prim.Prim.: [Left &("CJhc.Type.Basic.Char" 101),Left &("CJhc.Prim.Prim.[]")],9) */ | |
static const struct sCJhc_Prim_Prim_$x3a _c9 = {.a1 = (sptr_t)RAW_SET_UF('e'), .a2 = (sptr_t)SET_RAW_TAG(CJhc_Prim_Prim_$BE)}; | |
#define c9 (TO_SPTR_C(P_WHNF, (sptr_t)&_c9)) | |
/* (HcNode CJhc.Prim.Prim.: [Left &("CJhc.Type.Basic.Char" 115),Right 9],10) */ | |
static const struct sCJhc_Prim_Prim_$x3a _c10 = {.a1 = (sptr_t)RAW_SET_UF('s'), .a2 = c9}; | |
#define c10 (TO_SPTR_C(P_WHNF, (sptr_t)&_c10)) | |
/* (HcNode CJhc.Prim.Prim.: [Left &("CJhc.Type.Basic.Char" 108),Right 10],11) */ | |
static const struct sCJhc_Prim_Prim_$x3a _c11 = {.a1 = (sptr_t)RAW_SET_UF('l'), .a2 = c10}; | |
#define c11 (TO_SPTR_C(P_WHNF, (sptr_t)&_c11)) | |
/* (HcNode CJhc.Prim.Prim.: [Left &("CJhc.Type.Basic.Char" 97),Right 11],12) */ | |
static const struct sCJhc_Prim_Prim_$x3a _c12 = {.a1 = (sptr_t)RAW_SET_UF('a'), .a2 = c11}; | |
#define c12 (TO_SPTR_C(P_WHNF, (sptr_t)&_c12)) | |
/* (HcNode CJhc.Prim.Prim.: [Left &("CJhc.Type.Basic.Char" 70),Right 12],13) */ | |
static const struct sCJhc_Prim_Prim_$x3a _c13 = {.a1 = (sptr_t)RAW_SET_UF('F'), .a2 = c12}; | |
#define c13 (TO_SPTR_C(P_WHNF, (sptr_t)&_c13)) | |
/* (HcNode CJhc.Prim.Prim.: [Left &("CJhc.Type.Basic.Char" 117),Right 9],14) */ | |
static const struct sCJhc_Prim_Prim_$x3a _c14 = {.a1 = (sptr_t)RAW_SET_UF('u'), .a2 = c9}; | |
#define c14 (TO_SPTR_C(P_WHNF, (sptr_t)&_c14)) | |
/* (HcNode CJhc.Prim.Prim.: [Left &("CJhc.Type.Basic.Char" 114),Right 14],15) */ | |
static const struct sCJhc_Prim_Prim_$x3a _c15 = {.a1 = (sptr_t)RAW_SET_UF('r'), .a2 = c14}; | |
#define c15 (TO_SPTR_C(P_WHNF, (sptr_t)&_c15)) | |
/* (HcNode CJhc.Prim.Prim.: [Left &("CJhc.Type.Basic.Char" 84),Right 15],16) */ | |
static const struct sCJhc_Prim_Prim_$x3a _c16 = {.a1 = (sptr_t)RAW_SET_UF('T'), .a2 = c15}; | |
#define c16 (TO_SPTR_C(P_WHNF, (sptr_t)&_c16)) | |
/* (HcNode TJhc.Prim.Prim.(,,) [Left ("TJhc.Type.Basic.Integer"),Left ("TJhc.Type.Basic.Integer"),Left ("TJhc.Prim.Prim.Bool")],18) */ | |
static const struct sTJhc_Prim_Prim_$LccR _c18 = {.what = (what_t)SET_RAW_TAG(TJhc_Prim_Prim_$LccR), .a1 = SET_RAW_TAG(TJhc_Type_Basic_Integer), .a2 = SET_RAW_TAG(TJhc_Type_Basic_Integer), .a3 = SET_RAW_TAG(TJhc_Prim_Prim_Bool)}; | |
#define c18 (TO_SPTR_C(P_WHNF, (sptr_t)&_c18)) | |
/* (HcNode CJhc.Type.Word.Int [Left 0],17) */ | |
static const struct sCJhc_Type_Word_Int _c17 = {.a1 = 0}; | |
#define c17 (TO_SPTR_C(P_WHNF, (sptr_t)&_c17)) | |
const void * const nh_stuff[] = { | |
&_c1, &_c2, &_c3, &_c4, &_c5, &_c6, &_c7, &_c8, &_c9, &_c10, &_c11, | |
&_c12, &_c13, &_c14, &_c15, &_c16, &_c17, &_c18, NULL | |
}; | |
void | |
jhc_hs_init(gc_t gc,arena_t arena) | |
{ | |
alloc_public_caches(arena,sizeof(struct s_caches_pub)); | |
find_cache(&public_caches(arena)->cCJhc_Type_Basic_Integer,arena,TO_BLOCKS(sizeof(struct sCJhc_Type_Basic_Integer)),0); | |
find_cache(&public_caches(arena)->cCJhc_Prim_Prim_$x3a,arena,TO_BLOCKS(sizeof(struct sCJhc_Prim_Prim_$x3a)),2); | |
find_cache(&public_caches(arena)->cCJhc_Prim_Prim_$LccR,arena,TO_BLOCKS(sizeof(struct sCJhc_Prim_Prim_$LccR)),3); | |
find_cache(&public_caches(arena)->cFtheMain$d4,arena,TO_BLOCKS(sizeof(struct sFtheMain$d4)),2); | |
find_cache(&public_caches(arena)->cFtheMain$d3,arena,TO_BLOCKS(sizeof(struct sFtheMain$d3)),1); | |
find_cache(&public_caches(arena)->cFtheMain$d5,arena,TO_BLOCKS(sizeof(struct sFtheMain$d5)),2); | |
find_cache(&public_caches(arena)->cFtheMain$d2,arena,TO_BLOCKS(sizeof(struct sFtheMain$d2)),1); | |
find_cache(&public_caches(arena)->cFR$__fJhc_Basics_$pp,arena,TO_BLOCKS(sizeof(struct sFR$__fJhc_Basics_$pp)),3); | |
find_cache(&public_caches(arena)->cFJhc_Show_shows,arena,TO_BLOCKS(sizeof(struct sFJhc_Show_shows)),4); | |
find_cache(&public_caches(arena)->cFW$__fJhc_Inst_Show_showWordMax,arena,TO_BLOCKS(sizeof(struct sFW$__fJhc_Inst_Show_showWordMax)),2); | |
} | |
static wptr_t A_STD A_FALIGNED | |
E__fJhc_Show_shows(gc_t gc,arena_t arena,struct sFJhc_Show_shows* arg) | |
{ | |
{ wptr_t r; | |
gc_frame0(gc,1,MKLAZY(arg)); | |
r = fJhc_Show_shows(gc,arena,arg->a1,arg->a2,arg->a3); | |
update(arg,r); | |
return r; | |
} | |
} | |
static wptr_t A_STD A_FALIGNED | |
E__fR$__fJhc_Basics_$pp(gc_t gc,arena_t arena,struct sFR$__fJhc_Basics_$pp* arg) | |
{ | |
{ wptr_t r; | |
gc_frame0(gc,1,MKLAZY(arg)); | |
r = fR$__fJhc_Basics_$pp(gc,arena,arg->a1,arg->a2); | |
update(arg,r); | |
return r; | |
} | |
} | |
static wptr_t A_STD A_FALIGNED | |
E__fW$__fJhc_Inst_Show_showWordMax(gc_t gc,arena_t arena,struct sFW$__fJhc_Inst_Show_showWordMax* arg) | |
{ | |
{ wptr_t r; | |
gc_frame0(gc,1,MKLAZY(arg)); | |
r = fW$__fJhc_Inst_Show_showWordMax(gc,arena,arg->a1,arg->a2); | |
update(arg,r); | |
return r; | |
} | |
} | |
static wptr_t A_STD A_FALIGNED | |
E__ftheMain$d2(gc_t gc,arena_t arena,struct sFtheMain$d2* arg) | |
{ | |
{ wptr_t r; | |
gc_frame0(gc,1,MKLAZY(arg)); | |
r = ftheMain$d2(gc,arena); | |
update(arg,r); | |
return r; | |
} | |
} | |
static wptr_t A_STD A_FALIGNED | |
E__ftheMain$d3(gc_t gc,arena_t arena,struct sFtheMain$d3* arg) | |
{ | |
{ wptr_t r; | |
gc_frame0(gc,1,MKLAZY(arg)); | |
r = ftheMain$d3(gc,arena); | |
update(arg,r); | |
return r; | |
} | |
} | |
static wptr_t A_STD A_FALIGNED | |
E__ftheMain$d4(gc_t gc,arena_t arena,struct sFtheMain$d4* arg) | |
{ | |
{ wptr_t r; | |
gc_frame0(gc,1,MKLAZY(arg)); | |
r = ftheMain$d4(gc,arena,arg->a1); | |
update(arg,r); | |
return r; | |
} | |
} | |
static wptr_t A_STD A_FALIGNED | |
E__ftheMain$d5(gc_t gc,arena_t arena,struct sFtheMain$d5* arg) | |
{ | |
{ wptr_t r; | |
gc_frame0(gc,1,MKLAZY(arg)); | |
r = ftheMain$d5(gc,arena,arg->a1); | |
update(arg,r); | |
return r; | |
} | |
} | |
void | |
_amain(void) | |
{ | |
arena_t arena; | |
gc_t gc; | |
gc = NULL; | |
arena = NULL; | |
jhc_alloc_init(&gc,&arena); | |
jhc_hs_init(gc,arena); | |
b__main(gc,arena); | |
jhc_alloc_fini(gc,arena); | |
} | |
static struct tup1 A_STD | |
bRfW$__fR$__fMain_wwc(gc_t gc,arena_t arena,uintmax_t v135371087,wptr_t v29375222,wptr_t v44000781,sptr_t v215884592) | |
{ | |
sptr_t v239; | |
sptr_t v241; | |
sptr_t v243; | |
struct tup1 _t2; | |
struct tup3 x2; | |
sptr_t v29375349 = demote(v29375222); | |
if (0 == v135371087) { | |
uintmax_t v260457468; | |
v260457468 = ((struct sCJhc_Type_Basic_Integer*)v29375222)->a1; | |
if (0 == v260457468) { | |
uint16_t v42; | |
v42 = ((uint16_t)RAW_GET_UF(v44000781)); | |
switch (v42) { | |
case 0: | |
{ wptr_t v281; | |
sptr_t v286; | |
wptr_t v289; | |
struct tup1 x3; | |
{ gc_frame0(gc,1,v215884592); | |
x3 = bRfW$__fR$__fMain_wwc(gc,arena,1,PROMOTE(c1),RAW_SET_UF(0),v215884592); | |
} | |
v281 = x3.t0; | |
v286 = x3.t1; | |
v289 = x3.t2; | |
sptr_t v147 = demote(v281); | |
sptr_t v150 = demote(v289); | |
x2.t0 = v147; | |
x2.t1 = v286; | |
x2.t2 = v150; | |
} | |
break; | |
default: | |
{ uint16_t v153480246; | |
v153480246 = v42; | |
{ uint32_t v115160450; | |
gc_frame0(gc,1,v29375349); | |
wptr_t v100004 = eval(gc,arena,v215884592); | |
v115160450 = ((uint32_t)RAW_GET_UF(v100004)); | |
if (10 == v115160450) { | |
uintmax_t v260457474 = (1 + v135371087); | |
wptr_t x4 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Type_Basic_Integer); | |
((struct sCJhc_Type_Basic_Integer*)x4)->a1 = v260457474; | |
wptr_t v273 = x4; | |
sptr_t v181754690 = demote(v273); | |
x2.t0 = v181754690; | |
x2.t1 = v29375349; | |
x2.t2 = ((sptr_t)RAW_SET_UF(0)); | |
} else { | |
if (0 == v153480246) { | |
uint16_t v100006; | |
{ gc_frame0(gc,1,v100004); | |
v100006 = fW$__fSpec$__Jhc_List_217_fJhc_List_elem(gc,arena,v100004,PROMOTE(c8)); | |
} | |
if (0 == v100006) { | |
uintmax_t v29375122 = (1 + v260457468); | |
wptr_t x5 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Type_Basic_Integer); | |
((struct sCJhc_Type_Basic_Integer*)x5)->a1 = v29375122; | |
wptr_t v448 = x5; | |
sptr_t v201839438 = demote(v448); | |
{ gc_frame0(gc,1,v201839438); | |
wptr_t x6 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Type_Basic_Integer); | |
((struct sCJhc_Type_Basic_Integer*)x6)->a1 = v135371087; | |
wptr_t v263 = x6; | |
sptr_t v90861648 = demote(v263); | |
x2.t0 = v90861648; | |
x2.t1 = v201839438; | |
x2.t2 = ((sptr_t)RAW_SET_UF(1)); | |
} | |
} else { | |
/* 1 */ | |
assert(1 == v100006); | |
wptr_t x7 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Type_Basic_Integer); | |
((struct sCJhc_Type_Basic_Integer*)x7)->a1 = v135371087; | |
wptr_t v127 = x7; | |
sptr_t v127754094 = demote(v127); | |
x2.t0 = v127754094; | |
x2.t1 = v29375349; | |
x2.t2 = ((sptr_t)RAW_SET_UF(0)); | |
} | |
} else { | |
uint16_t v100008; | |
{ gc_frame0(gc,1,v100004); | |
v100008 = fW$__fSpec$__Jhc_List_217_fJhc_List_elem(gc,arena,v100004,PROMOTE(c8)); | |
} | |
if (0 == v100008) { | |
wptr_t x8 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Type_Basic_Integer); | |
((struct sCJhc_Type_Basic_Integer*)x8)->a1 = v135371087; | |
wptr_t v275 = x8; | |
sptr_t v240673846 = demote(v275); | |
x2.t0 = v240673846; | |
x2.t1 = v29375349; | |
x2.t2 = ((sptr_t)RAW_SET_UF(1)); | |
} else { | |
/* 1 */ | |
assert(1 == v100008); | |
wptr_t x9 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Type_Basic_Integer); | |
((struct sCJhc_Type_Basic_Integer*)x9)->a1 = v135371087; | |
wptr_t v271 = x9; | |
sptr_t v59069478 = demote(v271); | |
x2.t0 = v59069478; | |
x2.t1 = v29375349; | |
x2.t2 = ((sptr_t)RAW_SET_UF(0)); | |
} | |
} | |
} | |
} | |
} | |
break; | |
} | |
} else { | |
{ uint32_t v59150084; | |
gc_frame0(gc,2,v29375349,v44000781); | |
wptr_t v100010 = eval(gc,arena,v215884592); | |
v59150084 = ((uint32_t)RAW_GET_UF(v100010)); | |
if (10 == v59150084) { | |
uintmax_t v256943490 = (1 + v135371087); | |
wptr_t x10 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Type_Basic_Integer); | |
((struct sCJhc_Type_Basic_Integer*)x10)->a1 = v256943490; | |
wptr_t v325 = x10; | |
sptr_t v124235150 = demote(v325); | |
x2.t0 = v124235150; | |
x2.t1 = v29375349; | |
x2.t2 = ((sptr_t)RAW_SET_UF(0)); | |
} else { | |
uint16_t v34; | |
v34 = ((uint16_t)RAW_GET_UF(v44000781)); | |
if (0 == v34) { | |
uint16_t v100014; | |
{ gc_frame0(gc,1,v100010); | |
v100014 = fW$__fSpec$__Jhc_List_217_fJhc_List_elem(gc,arena,v100010,PROMOTE(c8)); | |
} | |
if (0 == v100014) { | |
uintmax_t v1674606 = (1 + v260457468); | |
wptr_t x11 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Type_Basic_Integer); | |
((struct sCJhc_Type_Basic_Integer*)x11)->a1 = v1674606; | |
wptr_t v348 = x11; | |
sptr_t v158113096 = demote(v348); | |
{ gc_frame0(gc,1,v158113096); | |
wptr_t x12 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Type_Basic_Integer); | |
((struct sCJhc_Type_Basic_Integer*)x12)->a1 = v135371087; | |
wptr_t v157 = x12; | |
sptr_t v1780406 = demote(v157); | |
x2.t0 = v1780406; | |
x2.t1 = v158113096; | |
x2.t2 = ((sptr_t)RAW_SET_UF(1)); | |
} | |
} else { | |
/* 1 */ | |
assert(1 == v100014); | |
wptr_t x13 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Type_Basic_Integer); | |
((struct sCJhc_Type_Basic_Integer*)x13)->a1 = v135371087; | |
wptr_t v152 = x13; | |
sptr_t v110207572 = demote(v152); | |
x2.t0 = v110207572; | |
x2.t1 = v29375349; | |
x2.t2 = ((sptr_t)RAW_SET_UF(0)); | |
} | |
} else { | |
uint16_t v100016; | |
{ gc_frame0(gc,1,v100010); | |
v100016 = fW$__fSpec$__Jhc_List_217_fJhc_List_elem(gc,arena,v100010,PROMOTE(c8)); | |
} | |
if (0 == v100016) { | |
wptr_t x14 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Type_Basic_Integer); | |
((struct sCJhc_Type_Basic_Integer*)x14)->a1 = v135371087; | |
wptr_t v163 = x14; | |
sptr_t v21055632 = demote(v163); | |
x2.t0 = v21055632; | |
x2.t1 = v29375349; | |
x2.t2 = ((sptr_t)RAW_SET_UF(1)); | |
} else { | |
/* 1 */ | |
assert(1 == v100016); | |
wptr_t x15 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Type_Basic_Integer); | |
((struct sCJhc_Type_Basic_Integer*)x15)->a1 = v135371087; | |
wptr_t v161 = x15; | |
sptr_t v66102156 = demote(v161); | |
x2.t0 = v66102156; | |
x2.t1 = v29375349; | |
x2.t2 = ((sptr_t)RAW_SET_UF(0)); | |
} | |
} | |
} | |
} | |
} | |
} else { | |
{ uint32_t v215350916; | |
gc_frame0(gc,3,v29375222,v29375349,v44000781); | |
wptr_t v100018 = eval(gc,arena,v215884592); | |
v215350916 = ((uint32_t)RAW_GET_UF(v100018)); | |
if (10 == v215350916) { | |
uintmax_t v209623816 = (1 + v135371087); | |
wptr_t x16 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Type_Basic_Integer); | |
((struct sCJhc_Type_Basic_Integer*)x16)->a1 = v209623816; | |
wptr_t v170 = x16; | |
sptr_t v45052584 = demote(v170); | |
x2.t0 = v45052584; | |
x2.t1 = v29375349; | |
x2.t2 = ((sptr_t)RAW_SET_UF(0)); | |
} else { | |
uint16_t v68216828; | |
v68216828 = ((uint16_t)RAW_GET_UF(v44000781)); | |
if (0 == v68216828) { | |
uint16_t v100022; | |
{ gc_frame0(gc,1,v100018); | |
v100022 = fW$__fSpec$__Jhc_List_217_fJhc_List_elem(gc,arena,v100018,PROMOTE(c8)); | |
} | |
if (0 == v100022) { | |
sptr_t x17 = s_alloc(gc,arena,public_caches(arena)->cFtheMain$d4); | |
((struct sFtheMain$d4*)x17)->head = TO_FPTR(&E__ftheMain$d4); | |
((struct sFtheMain$d4*)x17)->a1 = v29375222; | |
sptr_t v172090968 = MKLAZY(x17); | |
{ gc_frame0(gc,1,v172090968); | |
wptr_t x18 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Type_Basic_Integer); | |
((struct sCJhc_Type_Basic_Integer*)x18)->a1 = v135371087; | |
wptr_t v391 = x18; | |
sptr_t v237992580 = demote(v391); | |
x2.t0 = v237992580; | |
x2.t1 = v172090968; | |
x2.t2 = ((sptr_t)RAW_SET_UF(1)); | |
} | |
} else { | |
/* 1 */ | |
assert(1 == v100022); | |
wptr_t x19 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Type_Basic_Integer); | |
((struct sCJhc_Type_Basic_Integer*)x19)->a1 = v135371087; | |
wptr_t v177 = x19; | |
sptr_t v187526658 = demote(v177); | |
x2.t0 = v187526658; | |
x2.t1 = v29375349; | |
x2.t2 = ((sptr_t)RAW_SET_UF(0)); | |
} | |
} else { | |
uint16_t v100024; | |
{ gc_frame0(gc,1,v100018); | |
v100024 = fW$__fSpec$__Jhc_List_217_fJhc_List_elem(gc,arena,v100018,PROMOTE(c8)); | |
} | |
if (0 == v100024) { | |
wptr_t x20 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Type_Basic_Integer); | |
((struct sCJhc_Type_Basic_Integer*)x20)->a1 = v135371087; | |
wptr_t v422 = x20; | |
sptr_t v2998634 = demote(v422); | |
x2.t0 = v2998634; | |
x2.t1 = v29375349; | |
x2.t2 = ((sptr_t)RAW_SET_UF(1)); | |
} else { | |
/* 1 */ | |
assert(1 == v100024); | |
wptr_t x21 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Type_Basic_Integer); | |
((struct sCJhc_Type_Basic_Integer*)x21)->a1 = v135371087; | |
wptr_t v184 = x21; | |
sptr_t v202961034 = demote(v184); | |
x2.t0 = v202961034; | |
x2.t1 = v29375349; | |
x2.t2 = ((sptr_t)RAW_SET_UF(0)); | |
} | |
} | |
} | |
} | |
} | |
v239 = x2.t0; | |
v241 = x2.t1; | |
v243 = x2.t2; | |
wptr_t v245 = promote(v239); | |
wptr_t v247 = promote(v243); | |
return (_t2.t0 = v245,_t2.t1 = v241,_t2.t2 = v247,_t2); | |
} | |
static struct tup1 A_STD | |
bRfW$__fW$__fData_List_610__lgo(gc_t gc,arena_t arena,wptr_t v209623990,sptr_t v227981241,wptr_t v105553558,sptr_t v61835305) | |
{ | |
sptr_t v209624050 = demote(v209623990); | |
sptr_t v105553619 = demote(v105553558); | |
{ sptr_t v196; | |
sptr_t v199; | |
sptr_t v455; | |
struct tup1 _t4; | |
struct tup3 x22; | |
gc_frame0(gc,5,v105553558,v105553619,v209623990,v209624050,v227981241); | |
wptr_t v100084 = eval(gc,arena,v61835305); | |
if (SET_RAW_TAG(CJhc_Prim_Prim_$BE) == v100084) { | |
x22.t0 = v209624050; | |
x22.t1 = v227981241; | |
x22.t2 = v105553619; | |
} else { | |
sptr_t v826; | |
sptr_t v828; | |
uintmax_t v115160442; | |
/* ("CJhc.Prim.Prim.:" ni826 ni828) */ | |
v826 = ((struct sCJhc_Prim_Prim_$x3a*)v100084)->a1; | |
v828 = ((struct sCJhc_Prim_Prim_$x3a*)v100084)->a2; | |
v115160442 = ((struct sCJhc_Type_Basic_Integer*)v209623990)->a1; | |
{ wptr_t v155; | |
wptr_t v183; | |
wptr_t v334; | |
sptr_t v352; | |
sptr_t v80; | |
wptr_t v96; | |
struct tup1 x23; | |
struct tup1 x24; | |
gc_frame0(gc,2,v826,v828); | |
wptr_t v100088 = eval(gc,arena,v227981241); | |
{ gc_frame0(gc,1,v100088); | |
x23 = fW$__fR$__fMain_wwc(gc,arena,v115160442,v100088,v105553558,v826); | |
} | |
v155 = x23.t0; | |
v80 = x23.t1; | |
v334 = x23.t2; | |
{ gc_frame0(gc,3,v80,v155,v334); | |
x24 = bRfW$__fW$__fData_List_610__lgo(gc,arena,v155,v80,v334,v828); | |
} | |
v183 = x24.t0; | |
v352 = x24.t1; | |
v96 = x24.t2; | |
sptr_t v98 = demote(v183); | |
sptr_t v101 = demote(v96); | |
x22.t0 = v98; | |
x22.t1 = v352; | |
x22.t2 = v101; | |
} | |
} | |
v455 = x22.t0; | |
v196 = x22.t1; | |
v199 = x22.t2; | |
wptr_t v202 = promote(v455); | |
wptr_t v5 = promote(v199); | |
return (_t4.t0 = v202,_t4.t1 = v196,_t4.t2 = v5,_t4); | |
} | |
} | |
static void A_STD | |
b__main(gc_t gc,arena_t arena) | |
{ | |
ftheMain(gc,arena); | |
return; | |
} | |
static wptr_t A_STD A_MALLOC | |
fJhc_Basics_$pp(gc_t gc,arena_t arena,wptr_t v132,wptr_t v134) | |
{ | |
sptr_t v470 = demote(v132); | |
{ gc_frame0(gc,2,v134,v470); | |
return fR$__fJhc_Basics_$pp(gc,arena,v470,v134); | |
} | |
} | |
static wptr_t A_STD A_MALLOC | |
fJhc_Show_shows(gc_t gc,arena_t arena,wptr_t v1462509595,sptr_t v80100070,wptr_t v216085086) | |
{ | |
{ gc_frame0(gc,3,v80100070,v216085086,v1462509595); | |
return fJhc_Show_showsPrec(gc,arena,v1462509595,PROMOTE(c17),v80100070,v216085086); | |
} | |
} | |
static wptr_t A_STD A_MALLOC | |
fJhc_Show_showsPrec(gc_t gc,arena_t arena,wptr_t v1333402651,wptr_t v194508206,sptr_t v80256462,wptr_t v75583672) | |
{ | |
sptr_t v75583952 = demote(v75583672); | |
switch (FETCH_TAG(v1333402651)) { | |
case TJhc_Prim_Prim_$LccR: | |
{ { sptr_t v115160438; | |
sptr_t v124940228; | |
sptr_t v216085094; | |
gc_frame0(gc,1,v75583952); | |
wptr_t v100058 = eval(gc,arena,v80256462); | |
v115160438 = ((struct sCJhc_Prim_Prim_$LccR*)v100058)->a1; | |
v124940228 = ((struct sCJhc_Prim_Prim_$LccR*)v100058)->a2; | |
v216085094 = ((struct sCJhc_Prim_Prim_$LccR*)v100058)->a3; | |
{ gc_frame0(gc,3,v115160438,v124940228,v216085094); | |
wptr_t x34 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Prim_Prim_$x3a); | |
((struct sCJhc_Prim_Prim_$x3a*)x34)->a1 = ((sptr_t)RAW_SET_UF(')')); | |
((struct sCJhc_Prim_Prim_$x3a*)x34)->a2 = v75583952; | |
wptr_t v64 = x34; | |
{ gc_frame0(gc,1,v64); | |
sptr_t x35 = s_alloc(gc,arena,public_caches(arena)->cFJhc_Show_shows); | |
((struct sFJhc_Show_shows*)x35)->head = TO_FPTR(&E__fJhc_Show_shows); | |
((struct sFJhc_Show_shows*)x35)->a1 = SET_RAW_TAG(TJhc_Prim_Prim_Bool); | |
((struct sFJhc_Show_shows*)x35)->a2 = v216085094; | |
((struct sFJhc_Show_shows*)x35)->a3 = v64; | |
sptr_t v10527818 = MKLAZY(x35); | |
{ gc_frame0(gc,1,v10527818); | |
wptr_t x36 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Prim_Prim_$x3a); | |
((struct sCJhc_Prim_Prim_$x3a*)x36)->a1 = ((sptr_t)RAW_SET_UF(',')); | |
((struct sCJhc_Prim_Prim_$x3a*)x36)->a2 = v10527818; | |
wptr_t v67 = x36; | |
{ gc_frame0(gc,1,v67); | |
sptr_t x37 = s_alloc(gc,arena,public_caches(arena)->cFJhc_Show_shows); | |
((struct sFJhc_Show_shows*)x37)->head = TO_FPTR(&E__fJhc_Show_shows); | |
((struct sFJhc_Show_shows*)x37)->a1 = SET_RAW_TAG(TJhc_Type_Basic_Integer); | |
((struct sFJhc_Show_shows*)x37)->a2 = v124940228; | |
((struct sFJhc_Show_shows*)x37)->a3 = v67; | |
sptr_t v253468956 = MKLAZY(x37); | |
{ gc_frame0(gc,1,v253468956); | |
wptr_t x38 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Prim_Prim_$x3a); | |
((struct sCJhc_Prim_Prim_$x3a*)x38)->a1 = ((sptr_t)RAW_SET_UF(',')); | |
((struct sCJhc_Prim_Prim_$x3a*)x38)->a2 = v253468956; | |
wptr_t v70 = x38; | |
{ gc_frame0(gc,1,v70); | |
sptr_t x39 = s_alloc(gc,arena,public_caches(arena)->cFJhc_Show_shows); | |
((struct sFJhc_Show_shows*)x39)->head = TO_FPTR(&E__fJhc_Show_shows); | |
((struct sFJhc_Show_shows*)x39)->a1 = SET_RAW_TAG(TJhc_Type_Basic_Integer); | |
((struct sFJhc_Show_shows*)x39)->a2 = v115160438; | |
((struct sFJhc_Show_shows*)x39)->a3 = v70; | |
sptr_t v209623814 = MKLAZY(x39); | |
{ gc_frame0(gc,1,v209623814); | |
wptr_t x40 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Prim_Prim_$x3a); | |
((struct sCJhc_Prim_Prim_$x3a*)x40)->a1 = ((sptr_t)RAW_SET_UF('(')); | |
((struct sCJhc_Prim_Prim_$x3a*)x40)->a2 = v209623814; | |
return x40; | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
break; | |
case TJhc_Prim_Prim_Bool: | |
{ { sptr_t v133; | |
sptr_t v314; | |
uint16_t v29534746; | |
struct tup5 x41; | |
gc_frame0(gc,1,v75583952); | |
wptr_t v100060 = eval(gc,arena,v80256462); | |
v29534746 = ((uint16_t)RAW_GET_UF(v100060)); | |
if (0 == v29534746) { | |
x41.t0 = c13; | |
x41.t1 = v75583952; | |
} else { | |
/* 1 */ | |
assert(1 == v29534746); | |
x41.t0 = c16; | |
x41.t1 = v75583952; | |
} | |
v133 = x41.t0; | |
v314 = x41.t1; | |
wptr_t v631 = promote(v133); | |
wptr_t v318 = promote(v314); | |
{ gc_frame0(gc,2,v318,v631); | |
return fJhc_Basics_$pp(gc,arena,v631,v318); | |
} | |
} | |
} | |
break; | |
case TJhc_Type_Basic_Integer: | |
{ uint32_t v68216832; | |
v68216832 = ((struct sCJhc_Type_Word_Int*)v194508206)->a1; | |
{ uintmax_t v227981058; | |
gc_frame0(gc,2,v75583672,v75583952); | |
wptr_t v100064 = eval(gc,arena,v80256462); | |
v227981058 = ((struct sCJhc_Type_Basic_Integer*)v100064)->a1; | |
uint16_t v100066 = (((intmax_t)0) > ((intmax_t)v227981058)); | |
if (0 == v100066) { | |
return fW$__fJhc_Inst_Show_showWordMax(gc,arena,v227981058,v75583672); | |
} else { | |
/* 1 */ | |
assert(1 == v100066); | |
uint16_t v100068 = (((int32_t)6) < ((int32_t)v68216832)); | |
if (0 == v100068) { | |
return fJhc_Show_showsPrec$d2(gc,arena,v227981058,v75583672); | |
} else { | |
wptr_t v657; | |
/* 1 */ | |
assert(1 == v100068); | |
wptr_t x42 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Prim_Prim_$x3a); | |
((struct sCJhc_Prim_Prim_$x3a*)x42)->a1 = ((sptr_t)RAW_SET_UF(')')); | |
((struct sCJhc_Prim_Prim_$x3a*)x42)->a2 = v75583952; | |
wptr_t v407 = x42; | |
{ gc_frame0(gc,1,v407); | |
v657 = fJhc_Show_showsPrec$d2(gc,arena,v227981058,v407); | |
} | |
sptr_t v217269554 = demote(v657); | |
{ gc_frame0(gc,1,v217269554); | |
wptr_t x43 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Prim_Prim_$x3a); | |
((struct sCJhc_Prim_Prim_$x3a*)x43)->a1 = ((sptr_t)RAW_SET_UF('(')); | |
((struct sCJhc_Prim_Prim_$x3a*)x43)->a2 = v217269554; | |
return x43; | |
} | |
} | |
} | |
} | |
} | |
break; | |
default: jhc_case_fell_off(__LINE__); | |
} | |
} | |
static wptr_t A_STD A_MALLOC | |
fJhc_Show_showsPrec$d2(gc_t gc,arena_t arena,uintmax_t v80100076,wptr_t v123872602) | |
{ | |
uintmax_t v189927408 = (-((intmax_t)v80100076)); | |
{ gc_frame0(gc,1,v123872602); | |
sptr_t x30 = s_alloc(gc,arena,public_caches(arena)->cFW$__fJhc_Inst_Show_showWordMax); | |
((struct sFW$__fJhc_Inst_Show_showWordMax*)x30)->head = TO_FPTR(&E__fW$__fJhc_Inst_Show_showWordMax); | |
((struct sFW$__fJhc_Inst_Show_showWordMax*)x30)->a1 = v189927408; | |
((struct sFW$__fJhc_Inst_Show_showWordMax*)x30)->a2 = v123872602; | |
sptr_t v245354002 = MKLAZY(x30); | |
{ gc_frame0(gc,1,v245354002); | |
wptr_t x31 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Prim_Prim_$x3a); | |
((struct sCJhc_Prim_Prim_$x3a*)x31)->a1 = ((sptr_t)RAW_SET_UF('-')); | |
((struct sCJhc_Prim_Prim_$x3a*)x31)->a2 = v245354002; | |
return x31; | |
} | |
} | |
} | |
static wptr_t A_STD A_MALLOC | |
fPrelude_IO_10__getContents$t(gc_t gc,arena_t arena) | |
{ | |
uint32_t v224 = ((uint32_t)jhc_utf8_getchar()); | |
if (-1 == v224) { | |
return SET_RAW_TAG(CJhc_Prim_Prim_$BE); | |
} else { | |
uint32_t v250262368 = v224; | |
sptr_t x44 = s_alloc(gc,arena,public_caches(arena)->cFtheMain$d2); | |
((struct sFtheMain$d2*)x44)->head = TO_FPTR(&E__ftheMain$d2); | |
sptr_t v76563860 = MKLAZY(x44); | |
{ gc_frame0(gc,1,v76563860); | |
wptr_t v356 = RAW_SET_UF(v250262368); | |
sptr_t v6646424 = demote(v356); | |
{ gc_frame0(gc,1,v6646424); | |
wptr_t x45 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Prim_Prim_$x3a); | |
((struct sCJhc_Prim_Prim_$x3a*)x45)->a1 = v6646424; | |
((struct sCJhc_Prim_Prim_$x3a*)x45)->a2 = v76563860; | |
return x45; | |
} | |
} | |
} | |
} | |
static wptr_t A_STD A_MALLOC | |
fR$__fJhc_Basics_$pp(gc_t gc,arena_t arena,sptr_t v110947982,wptr_t v29534740) | |
{ | |
{ gc_frame0(gc,1,v29534740); | |
wptr_t v100048 = eval(gc,arena,v110947982); | |
if (SET_RAW_TAG(CJhc_Prim_Prim_$BE) == v100048) { | |
return v29534740; | |
} else { | |
sptr_t v136; | |
sptr_t v659; | |
/* ("CJhc.Prim.Prim.:" ni136 ni659) */ | |
v136 = ((struct sCJhc_Prim_Prim_$x3a*)v100048)->a1; | |
v659 = ((struct sCJhc_Prim_Prim_$x3a*)v100048)->a2; | |
{ gc_frame0(gc,2,v136,v659); | |
sptr_t x32 = s_alloc(gc,arena,public_caches(arena)->cFR$__fJhc_Basics_$pp); | |
((struct sFR$__fJhc_Basics_$pp*)x32)->head = TO_FPTR(&E__fR$__fJhc_Basics_$pp); | |
((struct sFR$__fJhc_Basics_$pp*)x32)->a1 = v659; | |
((struct sFR$__fJhc_Basics_$pp*)x32)->a2 = v29534740; | |
sptr_t v123730148 = MKLAZY(x32); | |
{ gc_frame0(gc,1,v123730148); | |
wptr_t x33 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Prim_Prim_$x3a); | |
((struct sCJhc_Prim_Prim_$x3a*)x33)->a1 = v136; | |
((struct sCJhc_Prim_Prim_$x3a*)x33)->a2 = v123730148; | |
return x33; | |
} | |
} | |
} | |
} | |
} | |
static wptr_t A_STD A_MALLOC | |
fW$__fJhc_Inst_Show_showWordMax(gc_t gc,arena_t arena,uintmax_t v1817845811,wptr_t v1821122605) | |
{ | |
{ wptr_t v227981060; | |
uintmax_t v209623818; | |
gc_frame0(gc,1,v1821122605); | |
{ gc_frame0(gc,1,v1821122605); | |
v209623818 = v1817845811; | |
v227981060 = v1821122605; | |
goto fW$__fR$__fJhc_Inst_Show_showWordMax__27; | |
} | |
/* [bm209623818,nd227981060] */ | |
fW$__fR$__fJhc_Inst_Show_showWordMax__27:; | |
{ sptr_t v227981429 = demote(v227981060); | |
uintmax_t v40405740 = (v209623818 / 10); | |
uintmax_t v253468954 = (v209623818 % 10); | |
uint32_t v132127022 = ((uint32_t)v253468954); | |
uint32_t v187576970 = (48 + v132127022); | |
uint32_t v230710704 = v187576970; | |
{ gc_frame0(gc,1,v227981429); | |
wptr_t v189 = RAW_SET_UF(v230710704); | |
sptr_t v204193218 = demote(v189); | |
if (0 == v40405740) { | |
{ gc_frame0(gc,1,v204193218); | |
wptr_t x28 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Prim_Prim_$x3a); | |
((struct sCJhc_Prim_Prim_$x3a*)x28)->a1 = v204193218; | |
((struct sCJhc_Prim_Prim_$x3a*)x28)->a2 = v227981429; | |
return x28; | |
} | |
} else { | |
{ gc_frame0(gc,1,v204193218); | |
wptr_t x29 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Prim_Prim_$x3a); | |
((struct sCJhc_Prim_Prim_$x3a*)x29)->a1 = v204193218; | |
((struct sCJhc_Prim_Prim_$x3a*)x29)->a2 = v227981429; | |
wptr_t v414 = x29; | |
{ gc_frame0(gc,1,v414); | |
v209623818 = v40405740; | |
v227981060 = v414; | |
goto fW$__fR$__fJhc_Inst_Show_showWordMax__27; | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
static struct tup1 A_STD | |
fW$__fR$__fMain_wwc(gc_t gc,arena_t arena,uintmax_t v135370990,wptr_t v29375124,wptr_t v44000682,sptr_t v215884492) | |
{ | |
{ gc_frame0(gc,3,v29375124,v44000682,v215884492); | |
return bRfW$__fR$__fMain_wwc(gc,arena,v135370990,v29375124,v44000682,v215884492); | |
} | |
} | |
static uint16_t A_STD | |
fW$__fSpec$__Jhc_List_217_fJhc_List_elem(gc_t gc,arena_t arena,wptr_t v454,wptr_t v457) | |
{ | |
if (SET_RAW_TAG(CJhc_Prim_Prim_$BE) == v457) { | |
return 0; | |
} else { | |
sptr_t v479; | |
sptr_t v482; | |
uint32_t v44725398; | |
/* ("CJhc.Prim.Prim.:" ni479 ni482) */ | |
v479 = ((struct sCJhc_Prim_Prim_$x3a*)v457)->a1; | |
v482 = ((struct sCJhc_Prim_Prim_$x3a*)v457)->a2; | |
v44725398 = ((uint32_t)RAW_GET_UF(v454)); | |
{ uint32_t v228308038; | |
gc_frame0(gc,1,v482); | |
wptr_t v100074 = eval(gc,arena,v479); | |
v228308038 = ((uint32_t)RAW_GET_UF(v100074)); | |
uint16_t v100076 = (v44725398 == v228308038); | |
if (0 == v100076) { | |
sptr_t v256943492; | |
uint32_t v154420598; | |
v154420598 = v228308038; | |
v256943492 = v482; | |
fW$__fJhc_List_213__f__26:; | |
{ uint16_t v100078 = (v44725398 == v154420598); | |
if (0 == v100078) { | |
wptr_t v100080 = eval(gc,arena,v256943492); | |
if (SET_RAW_TAG(CJhc_Prim_Prim_$BE) == v100080) { | |
return 0; | |
} else { | |
sptr_t v489; | |
sptr_t v62470114; | |
/* ("CJhc.Prim.Prim.:" ni62470114 ni489) */ | |
v62470114 = ((struct sCJhc_Prim_Prim_$x3a*)v100080)->a1; | |
v489 = ((struct sCJhc_Prim_Prim_$x3a*)v100080)->a2; | |
{ uint32_t v59380245; | |
gc_frame0(gc,1,v489); | |
wptr_t v100082 = eval(gc,arena,v62470114); | |
v59380245 = ((uint32_t)RAW_GET_UF(v100082)); | |
v154420598 = v59380245; | |
v256943492 = v489; | |
goto fW$__fJhc_List_213__f__26; | |
} | |
} | |
} else { | |
/* 1 */ | |
assert(1 == v100078); | |
return 1; | |
} | |
} | |
} else { | |
/* 1 */ | |
assert(1 == v100076); | |
return 1; | |
} | |
} | |
} | |
} | |
static struct tup1 A_STD | |
fW$__fW$__fData_List_610__lgo(gc_t gc,arena_t arena,wptr_t v209623812,wptr_t v227981062,wptr_t v105553378,sptr_t v61835124) | |
{ | |
sptr_t v227981105 = demote(v227981062); | |
{ gc_frame0(gc,4,v61835124,v105553378,v209623812,v227981105); | |
return bRfW$__fW$__fData_List_610__lgo(gc,arena,v209623812,v227981105,v105553378,v61835124); | |
} | |
} | |
static void A_STD | |
ftheMain(gc_t gc,arena_t arena) | |
{ | |
sptr_t x49 = s_alloc(gc,arena,public_caches(arena)->cFtheMain$d3); | |
((struct sFtheMain$d3*)x49)->head = TO_FPTR(&E__ftheMain$d3); | |
sptr_t v44725400 = MKLAZY(x49); | |
{ wptr_t v100034; | |
gc_frame0(gc,1,v44725400); | |
sptr_t x50 = s_alloc(gc,arena,public_caches(arena)->cFtheMain$d5); | |
((struct sFtheMain$d5*)x50)->head = TO_FPTR(&E__ftheMain$d5); | |
((struct sFtheMain$d5*)x50)->a1 = v44725400; | |
sptr_t v210467880 = MKLAZY(x50); | |
{ gc_frame0(gc,1,v210467880); | |
v100034 = fJhc_Show_showsPrec(gc,arena,PROMOTE(c18),PROMOTE(c17),v210467880,SET_RAW_TAG(CJhc_Prim_Prim_$BE)); | |
} | |
sptr_t v2163366 = demote(v100034); | |
{ sptr_t v10; | |
gc_frame0(gc,1,v2163366); | |
{ gc_frame0(gc,1,v2163366); | |
v10 = v2163366; | |
goto fJhc_Monad_72__go__51; | |
} | |
goto done51; | |
fJhc_Monad_72__go__51:; | |
{ wptr_t v100047 = eval(gc,arena,v10); | |
if (SET_RAW_TAG(CJhc_Prim_Prim_$BE) == v100047) { | |
SET_RAW_TAG(CJhc_Prim_Prim_$LR); | |
} else { | |
sptr_t v14; | |
sptr_t v313; | |
/* ("CJhc.Prim.Prim.:" ni313 ni14) */ | |
v313 = ((struct sCJhc_Prim_Prim_$x3a*)v100047)->a1; | |
v14 = ((struct sCJhc_Prim_Prim_$x3a*)v100047)->a2; | |
{ uint32_t v10527822; | |
gc_frame0(gc,1,v14); | |
wptr_t v100040 = eval(gc,arena,v313); | |
v10527822 = ((uint32_t)RAW_GET_UF(v100040)); | |
uint32_t v112839540 = v10527822; | |
jhc_utf8_putchar((int)v112839540); | |
v10 = v14; | |
goto fJhc_Monad_72__go__51; | |
} | |
} | |
} | |
} | |
done51:; | |
return; | |
} | |
} | |
static wptr_t A_STD A_MALLOC | |
ftheMain$d2(gc_t gc,arena_t arena) | |
{ | |
return fPrelude_IO_10__getContents$t(gc,arena); | |
} | |
static wptr_t A_STD A_MALLOC | |
ftheMain$d3(gc_t gc,arena_t arena) | |
{ | |
return fPrelude_IO_10__getContents$t(gc,arena); | |
} | |
static wptr_t A_STD A_MALLOC | |
ftheMain$d4(gc_t gc,arena_t arena,wptr_t v29375120) | |
{ | |
uintmax_t v137248436; | |
v137248436 = ((struct sCJhc_Type_Basic_Integer*)v29375120)->a1; | |
uintmax_t v235511026 = (1 + v137248436); | |
wptr_t x46 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Type_Basic_Integer); | |
((struct sCJhc_Type_Basic_Integer*)x46)->a1 = v235511026; | |
return x46; | |
} | |
static wptr_t A_STD A_MALLOC | |
ftheMain$d5(gc_t gc,arena_t arena,sptr_t v29042940) | |
{ | |
wptr_t v31; | |
sptr_t v33; | |
wptr_t v35; | |
struct tup1 x47; | |
{ gc_frame0(gc,1,v29042940); | |
x47 = fW$__fW$__fData_List_610__lgo(gc,arena,PROMOTE(c1),PROMOTE(c1),RAW_SET_UF(0),v29042940); | |
} | |
v31 = x47.t0; | |
v33 = x47.t1; | |
v35 = x47.t2; | |
sptr_t v37 = demote(v31); | |
sptr_t v6 = demote(v35); | |
{ gc_frame0(gc,3,v6,v33,v37); | |
wptr_t x48 = s_alloc(gc,arena,public_caches(arena)->cCJhc_Prim_Prim_$LccR); | |
((struct sCJhc_Prim_Prim_$LccR*)x48)->a1 = v37; | |
((struct sCJhc_Prim_Prim_$LccR*)x48)->a2 = v33; | |
((struct sCJhc_Prim_Prim_$LccR*)x48)->a3 = v6; | |
return x48; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment