/*
**
** The C code is generated by [ATS/Postiats-0-3-3]
** The starting compilation time is: 2017-2-19: 15h:44m
**
*/

/*
** include runtime header files
*/
#ifndef _ATS_CCOMP_HEADER_NONE_
#include "pats_ccomp_config.h"
#include "pats_ccomp_basics.h"
#include "pats_ccomp_typedefs.h"
#include "pats_ccomp_instrset.h"
#include "pats_ccomp_memalloc.h"
#ifndef _ATS_CCOMP_EXCEPTION_NONE_
#include "pats_ccomp_memalloca.h"
#include "pats_ccomp_exception.h"
#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
#endif /* _ATS_CCOMP_HEADER_NONE_ */


/*
** include prelude cats files
*/
#ifndef _ATS_CCOMP_PRELUDE_NONE_
//
#include "prelude/CATS/basics.cats"
#include "prelude/CATS/integer.cats"
#include "prelude/CATS/pointer.cats"
#include "prelude/CATS/integer_long.cats"
#include "prelude/CATS/integer_size.cats"
#include "prelude/CATS/integer_short.cats"
#include "prelude/CATS/bool.cats"
#include "prelude/CATS/char.cats"
#include "prelude/CATS/float.cats"
#include "prelude/CATS/integer_ptr.cats"
#include "prelude/CATS/integer_fixed.cats"
#include "prelude/CATS/memory.cats"
#include "prelude/CATS/string.cats"
#include "prelude/CATS/strptr.cats"
//
#include "prelude/CATS/fprintf.cats"
//
#include "prelude/CATS/filebas.cats"
//
#include "prelude/CATS/list.cats"
#include "prelude/CATS/option.cats"
#include "prelude/CATS/array.cats"
#include "prelude/CATS/arrayptr.cats"
#include "prelude/CATS/arrayref.cats"
#include "prelude/CATS/matrix.cats"
#include "prelude/CATS/matrixptr.cats"
//
#endif /* _ATS_CCOMP_PRELUDE_NONE_ */
/*
** for user-supplied prelude
*/
#ifdef _ATS_CCOMP_PRELUDE_USER_
//
#include _ATS_CCOMP_PRELUDE_USER_
//
#endif /* _ATS_CCOMP_PRELUDE_USER_ */
/*
** for user2-supplied prelude
*/
#ifdef _ATS_CCOMP_PRELUDE_USER2_
//
#include _ATS_CCOMP_PRELUDE_USER2_
//
#endif /* _ATS_CCOMP_PRELUDE_USER2_ */

/*
staload-prologues(beg)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/basics.dats: 1528(line=44, offs=1) -- 1567(line=46, offs=27)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1533(line=44, offs=1) -- 1572(line=44, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer_long.dats: 1602(line=49, offs=1) -- 1641(line=49, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer_size.dats: 1597(line=49, offs=1) -- 1636(line=49, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer_short.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/char.dats: 1610(line=48, offs=1) -- 1649(line=48, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/float.dats: 1636(line=50, offs=1) -- 1675(line=50, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/string.dats: 1637(line=51, offs=1) -- 1676(line=51, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/strptr.dats: 1609(line=48, offs=1) -- 1648(line=48, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/strptr.dats: 1671(line=52, offs=1) -- 1718(line=52, offs=48)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer_ptr.dats: 1601(line=49, offs=1) -- 1640(line=49, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer_fixed.dats: 1603(line=49, offs=1) -- 1642(line=49, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/memory.dats: 1410(line=38, offs=1) -- 1449(line=39, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/filebas.dats: 1613(line=49, offs=1) -- 1652(line=50, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/filebas.dats: 1675(line=54, offs=1) -- 1721(line=55, offs=39)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/filebas.dats: 1744(line=59, offs=1) -- 1789(line=60, offs=38)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
*/

#include \
"libats/libc/CATS/stdio.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
*/

#include \
"libats/libc/CATS/sys/types.cats"
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/filebas.dats: 1871(line=66, offs=1) -- 1918(line=66, offs=48)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/libc/SATS/sys/stat.sats: 1390(line=36, offs=1) -- 1440(line=39, offs=3)
*/

#include \
"libats/libc/CATS/sys/stat.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/libc/SATS/sys/stat.sats: 1756(line=58, offs=1) -- 1805(line=60, offs=34)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
*/

#include \
"libats/libc/CATS/sys/types.cats"
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/filebas.dats: 15413(line=857, offs=1) -- 15450(line=858, offs=30)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
*/

#include \
"libats/libc/CATS/stdio.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
*/

#include \
"libats/libc/CATS/sys/types.cats"
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats: 1529(line=44, offs=1) -- 1568(line=45, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats: 1569(line=46, offs=1) -- 1615(line=47, offs=39)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/list_vt.dats: 1538(line=44, offs=1) -- 1577(line=45, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/list_vt.dats: 1578(line=46, offs=1) -- 1624(line=47, offs=39)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/list_vt_mergesort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/list_vt_quicksort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/array.dats: 1534(line=44, offs=1) -- 1573(line=44, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/array.dats: 1574(line=45, offs=1) -- 1616(line=45, offs=43)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_bsearch.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/arrayptr.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/arrayref.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/matrix.dats: 1535(line=44, offs=1) -- 1574(line=44, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/matrixptr.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/matrixref.dats: 1538(line=44, offs=1) -- 1577(line=44, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/stream.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/stream_vt.dats: 1523(line=44, offs=1) -- 1562(line=44, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/tostring.dats: 1528(line=44, offs=1) -- 1567(line=45, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/checkast.dats: 1531(line=44, offs=1) -- 1570(line=45, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/list0.sats: 1665(line=47, offs=1) -- 1700(line=47, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats: 1444(line=40, offs=1) -- 1483(line=41, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats: 1506(line=45, offs=1) -- 1541(line=45, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats: 1542(line=46, offs=1) -- 1577(line=46, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/list0.sats: 1665(line=47, offs=1) -- 1700(line=47, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/option0.sats: 1524(line=41, offs=1) -- 1559(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/option0.dats: 1392(line=36, offs=1) -- 1431(line=37, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/option0.dats: 1454(line=41, offs=1) -- 1489(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/option0.dats: 1490(line=42, offs=1) -- 1527(line=42, offs=38)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/option0.sats: 1524(line=41, offs=1) -- 1559(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/array0.sats: 1525(line=41, offs=1) -- 1571(line=44, offs=3)
*/

#include \
"libats/ML/CATS/array0.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/array0.sats: 1610(line=48, offs=1) -- 1645(line=48, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/matrix0.sats: 1526(line=41, offs=1) -- 1561(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/array0.dats: 1394(line=36, offs=1) -- 1433(line=37, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/array0.dats: 1458(line=41, offs=1) -- 1493(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/array0.dats: 1494(line=42, offs=1) -- 1529(line=42, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/list0.sats: 1665(line=47, offs=1) -- 1700(line=47, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/array0.dats: 1530(line=43, offs=1) -- 1566(line=43, offs=37)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/array0.sats: 1525(line=41, offs=1) -- 1571(line=44, offs=3)
*/

#include \
"libats/ML/CATS/array0.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/array0.sats: 1610(line=48, offs=1) -- 1645(line=48, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/matrix0.dats: 1396(line=36, offs=1) -- 1435(line=37, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/matrix0.dats: 1458(line=41, offs=1) -- 1493(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/matrix0.dats: 1494(line=42, offs=1) -- 1531(line=42, offs=38)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/matrix0.sats: 1526(line=41, offs=1) -- 1561(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/string.sats: 1525(line=41, offs=1) -- 1560(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/strarr.sats: 1538(line=43, offs=1) -- 1574(line=43, offs=37)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/strarr.sats: 1599(line=47, offs=1) -- 1649(line=51, offs=3)
*/

//
#include "libats/ML/CATS/strarr.cats"
//
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/string.dats: 1611(line=46, offs=1) -- 1650(line=47, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/string.dats: 2960(line=121, offs=1) -- 2995(line=121, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/string.dats: 2996(line=122, offs=1) -- 3031(line=122, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/list0.sats: 1665(line=47, offs=1) -- 1700(line=47, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/string.dats: 3032(line=123, offs=1) -- 3068(line=123, offs=37)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/string.sats: 1525(line=41, offs=1) -- 1560(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/strarr.dats: 1613(line=46, offs=1) -- 1652(line=47, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/strarr.dats: 1675(line=51, offs=1) -- 1710(line=51, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/strarr.dats: 1711(line=52, offs=1) -- 1747(line=52, offs=37)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/array0.sats: 1525(line=41, offs=1) -- 1571(line=44, offs=3)
*/

#include \
"libats/ML/CATS/array0.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/array0.sats: 1610(line=48, offs=1) -- 1645(line=48, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/strarr.dats: 1748(line=53, offs=1) -- 1796(line=53, offs=49)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/array0.dats: 1394(line=36, offs=1) -- 1433(line=37, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/array0.dats: 1458(line=41, offs=1) -- 1493(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/array0.dats: 1494(line=42, offs=1) -- 1529(line=42, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/list0.sats: 1665(line=47, offs=1) -- 1700(line=47, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/array0.dats: 1530(line=43, offs=1) -- 1566(line=43, offs=37)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/array0.sats: 1525(line=41, offs=1) -- 1571(line=44, offs=3)
*/

#include \
"libats/ML/CATS/array0.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/array0.sats: 1610(line=48, offs=1) -- 1645(line=48, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/strarr.dats: 1819(line=57, offs=1) -- 1855(line=57, offs=37)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/strarr.sats: 1538(line=43, offs=1) -- 1574(line=43, offs=37)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/strarr.sats: 1599(line=47, offs=1) -- 1649(line=51, offs=3)
*/

//
#include "libats/ML/CATS/strarr.cats"
//
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/stream.sats: 1532(line=43, offs=1) -- 1567(line=43, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/stream_vt.sats: 1534(line=43, offs=1) -- 1569(line=44, offs=28)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/stream.dats: 1447(line=40, offs=1) -- 1486(line=41, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/stream.dats: 1509(line=45, offs=1) -- 1544(line=45, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/stream.dats: 1545(line=46, offs=1) -- 1581(line=46, offs=37)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/stream.sats: 1532(line=43, offs=1) -- 1567(line=43, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/stream_vt.dats: 1447(line=40, offs=1) -- 1486(line=41, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/stream_vt.dats: 1509(line=45, offs=1) -- 1544(line=45, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/stream_vt.dats: 1545(line=46, offs=1) -- 1584(line=46, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/stream_vt.sats: 1534(line=43, offs=1) -- 1569(line=44, offs=28)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/gvalue.sats: 1534(line=42, offs=1) -- 1569(line=42, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 1449(line=41, offs=1) -- 1488(line=42, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 1513(line=46, offs=1) -- 1548(line=46, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 1552(line=48, offs=1) -- 1587(line=48, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/list0.sats: 1665(line=47, offs=1) -- 1700(line=47, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 1588(line=49, offs=1) -- 1624(line=49, offs=37)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/array0.sats: 1525(line=41, offs=1) -- 1571(line=44, offs=3)
*/

#include \
"libats/ML/CATS/array0.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/array0.sats: 1610(line=48, offs=1) -- 1645(line=48, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 1625(line=50, offs=1) -- 1663(line=50, offs=39)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/dynarray.sats: 1529(line=41, offs=1) -- 1564(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 1664(line=51, offs=1) -- 1704(line=51, offs=41)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/hashtblref.sats: 1524(line=43, offs=1) -- 1559(line=43, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 1708(line=53, offs=1) -- 1744(line=53, offs=37)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/gvalue.sats: 1534(line=42, offs=1) -- 1569(line=42, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 1771(line=57, offs=1) -- 1809(line=57, offs=39)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/basics.dats: 1528(line=44, offs=1) -- 1567(line=46, offs=27)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 1813(line=59, offs=1) -- 1852(line=59, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 1853(line=60, offs=1) -- 1892(line=60, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1533(line=44, offs=1) -- 1572(line=44, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 1896(line=62, offs=1) -- 1940(line=62, offs=45)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer_long.dats: 1602(line=49, offs=1) -- 1641(line=49, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 1941(line=63, offs=1) -- 1985(line=63, offs=45)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer_size.dats: 1597(line=49, offs=1) -- 1636(line=49, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 1989(line=65, offs=1) -- 2027(line=65, offs=39)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/string.dats: 1637(line=51, offs=1) -- 1676(line=51, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 2031(line=67, offs=1) -- 2072(line=67, offs=42)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 2076(line=69, offs=1) -- 2112(line=69, offs=37)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats: 1529(line=44, offs=1) -- 1568(line=45, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats: 1569(line=46, offs=1) -- 1615(line=47, offs=39)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 2113(line=70, offs=1) -- 2152(line=70, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/list_vt.dats: 1538(line=44, offs=1) -- 1577(line=45, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/list_vt.dats: 1578(line=46, offs=1) -- 1624(line=47, offs=39)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/list_vt_mergesort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/list_vt_quicksort.dats: 1546(line=44, offs=1) -- 1585(line=44, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 2156(line=72, offs=1) -- 2194(line=72, offs=39)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 2195(line=73, offs=1) -- 2236(line=73, offs=42)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 2240(line=75, offs=1) -- 2277(line=75, offs=38)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/array.dats: 1534(line=44, offs=1) -- 1573(line=44, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/array.dats: 1574(line=45, offs=1) -- 1616(line=45, offs=43)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_bsearch.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 1531(line=44, offs=1) -- 1570(line=44, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 2278(line=76, offs=1) -- 2318(line=76, offs=41)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/arrayptr.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 2319(line=77, offs=1) -- 2359(line=77, offs=41)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/arrayref.dats: 1532(line=44, offs=1) -- 1571(line=44, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 2363(line=79, offs=1) -- 2401(line=79, offs=39)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 2402(line=80, offs=1) -- 2441(line=80, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 2445(line=82, offs=1) -- 2489(line=82, offs=45)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1532(line=44, offs=1) -- 1566(line=44, offs=35)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 2516(line=86, offs=1) -- 2560(line=86, offs=45)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/qlist.dats: 1404(line=36, offs=1) -- 1443(line=37, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/qlist.dats: 1466(line=41, offs=1) -- 1498(line=41, offs=33)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/SATS/qlist.sats: 1605(line=53, offs=1) -- 1645(line=55, offs=3)
*/

#include "libats/CATS/qlist.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 2564(line=88, offs=1) -- 2611(line=88, offs=48)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/dynarray.dats: 1399(line=36, offs=1) -- 1438(line=37, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/dynarray.dats: 1461(line=41, offs=1) -- 1496(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/SATS/dynarray.sats: 1465(line=42, offs=1) -- 1510(line=45, offs=3)
*/

#include \
"libats/CATS/dynarray.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 2615(line=90, offs=1) -- 2661(line=90, offs=47)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/hashfun.dats: 1354(line=35, offs=1) -- 1393(line=36, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/hashfun.dats: 1416(line=40, offs=1) -- 1450(line=40, offs=35)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/SATS/hashfun.sats: 1354(line=35, offs=1) -- 1396(line=37, offs=3)
*/

#include "libats/CATS/hashfun.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 2662(line=91, offs=1) -- 2712(line=91, offs=51)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/linmap_list.dats: 1539(line=41, offs=1) -- 1578(line=42, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/linmap_list.dats: 1601(line=46, offs=1) -- 1639(line=46, offs=39)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/SHARE/linmap.hats: 4640(line=237, offs=1) -- 4676(line=238, offs=25)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/SATS/qlist.sats: 1605(line=53, offs=1) -- 1645(line=55, offs=3)
*/

#include "libats/CATS/qlist.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 2713(line=92, offs=1) -- 2765(line=92, offs=53)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/hashtbl_chain.dats: 1604(line=42, offs=1) -- 1643(line=43, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/hashtbl_chain.dats: 1666(line=47, offs=1) -- 1700(line=47, offs=35)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/SATS/hashfun.sats: 1354(line=35, offs=1) -- 1396(line=37, offs=3)
*/

#include "libats/CATS/hashfun.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/hashtbl_chain.dats: 1723(line=51, offs=1) -- 1763(line=51, offs=41)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/SHARE/hashtbl.hats: 5502(line=294, offs=1) -- 5538(line=294, offs=37)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/SATS/qlist.sats: 1605(line=53, offs=1) -- 1645(line=55, offs=3)
*/

#include "libats/CATS/qlist.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/hashtbl_chain.dats: 2924(line=127, offs=1) -- 2967(line=128, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 2769(line=94, offs=1) -- 2816(line=94, offs=48)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats: 1444(line=40, offs=1) -- 1483(line=41, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats: 1506(line=45, offs=1) -- 1541(line=45, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats: 1542(line=46, offs=1) -- 1577(line=46, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/list0.sats: 1665(line=47, offs=1) -- 1700(line=47, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 2817(line=95, offs=1) -- 2865(line=95, offs=49)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/array0.dats: 1394(line=36, offs=1) -- 1433(line=37, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/array0.dats: 1458(line=41, offs=1) -- 1493(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/array0.dats: 1494(line=42, offs=1) -- 1529(line=42, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/list0.sats: 1665(line=47, offs=1) -- 1700(line=47, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/array0.dats: 1530(line=43, offs=1) -- 1566(line=43, offs=37)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/array0.sats: 1525(line=41, offs=1) -- 1571(line=44, offs=3)
*/

#include \
"libats/ML/CATS/array0.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/array0.sats: 1610(line=48, offs=1) -- 1645(line=48, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 2866(line=96, offs=1) -- 2916(line=96, offs=51)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/dynarray.dats: 1396(line=36, offs=1) -- 1435(line=37, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/dynarray.dats: 1460(line=41, offs=1) -- 1500(line=42, offs=33)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/SATS/dynarray.sats: 1465(line=42, offs=1) -- 1510(line=45, offs=3)
*/

#include \
"libats/CATS/dynarray.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/dynarray.dats: 1525(line=46, offs=1) -- 1560(line=46, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/dynarray.dats: 1561(line=47, offs=1) -- 1596(line=47, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/list0.sats: 1665(line=47, offs=1) -- 1700(line=47, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/dynarray.dats: 1619(line=51, offs=1) -- 1657(line=51, offs=39)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/dynarray.sats: 1529(line=41, offs=1) -- 1564(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/gvalue.dats: 2917(line=97, offs=1) -- 2969(line=97, offs=53)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/hashtblref.dats: 1394(line=36, offs=1) -- 1433(line=37, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/hashtblref.dats: 1458(line=41, offs=1) -- 1503(line=42, offs=33)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/hashtblref.dats: 1528(line=46, offs=1) -- 1563(line=46, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/hashtblref.dats: 1586(line=50, offs=1) -- 1621(line=50, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/list0.sats: 1665(line=47, offs=1) -- 1700(line=47, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/hashtblref.dats: 1644(line=54, offs=1) -- 1678(line=54, offs=35)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/SATS/hashfun.sats: 1354(line=35, offs=1) -- 1396(line=37, offs=3)
*/

#include "libats/CATS/hashfun.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/hashtblref.dats: 1679(line=55, offs=1) -- 1719(line=55, offs=41)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/hashtblref.sats: 1524(line=43, offs=1) -- 1559(line=43, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/filebas.sats: 1525(line=41, offs=1) -- 1560(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/intrange.sats: 1629(line=47, offs=1) -- 1664(line=47, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/filebas.dats: 1472(line=40, offs=1) -- 1511(line=41, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/filebas.dats: 1534(line=45, offs=1) -- 1581(line=46, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/filebas.dats: 1582(line=47, offs=1) -- 1634(line=48, offs=45)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer_size.dats: 1597(line=49, offs=1) -- 1636(line=49, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/filebas.dats: 1657(line=52, offs=1) -- 1704(line=52, offs=48)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/filebas.dats: 1613(line=49, offs=1) -- 1652(line=50, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/filebas.dats: 1675(line=54, offs=1) -- 1721(line=55, offs=39)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/filebas.dats: 1744(line=59, offs=1) -- 1789(line=60, offs=38)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
*/

#include \
"libats/libc/CATS/stdio.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
*/

#include \
"libats/libc/CATS/sys/types.cats"
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/filebas.dats: 1871(line=66, offs=1) -- 1918(line=66, offs=48)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/libc/SATS/sys/stat.sats: 1390(line=36, offs=1) -- 1440(line=39, offs=3)
*/

#include \
"libats/libc/CATS/sys/stat.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/libc/SATS/sys/stat.sats: 1756(line=58, offs=1) -- 1805(line=60, offs=34)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
*/

#include \
"libats/libc/CATS/sys/types.cats"
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/filebas.dats: 15413(line=857, offs=1) -- 15450(line=858, offs=30)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/libc/SATS/stdio.sats: 1390(line=36, offs=1) -- 1437(line=39, offs=3)
*/

#include \
"libats/libc/CATS/stdio.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/libc/SATS/stdio.sats: 1950(line=69, offs=1) -- 1999(line=71, offs=34)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/libc/SATS/sys/types.sats: 1390(line=36, offs=1) -- 1441(line=39, offs=3)
*/

#include \
"libats/libc/CATS/sys/types.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/filebas.dats: 2234(line=78, offs=1) -- 2269(line=78, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/filebas.dats: 2270(line=79, offs=1) -- 2305(line=79, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/list0.sats: 1665(line=47, offs=1) -- 1700(line=47, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/filebas.dats: 2306(line=80, offs=1) -- 2343(line=80, offs=38)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/option0.sats: 1524(line=41, offs=1) -- 1559(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/filebas.dats: 2366(line=84, offs=1) -- 2403(line=84, offs=38)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/filebas.sats: 1525(line=41, offs=1) -- 1560(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/filebas.dats: 2957(line=114, offs=1) -- 3003(line=114, offs=47)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/strptr.dats: 1609(line=48, offs=1) -- 1648(line=48, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/strptr.dats: 1671(line=52, offs=1) -- 1718(line=52, offs=48)
*/
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 1596(line=49, offs=1) -- 1635(line=49, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/intrange.dats: 1397(line=36, offs=1) -- 1432(line=36, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/intrange.dats: 1455(line=40, offs=1) -- 1490(line=40, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/list0.sats: 1665(line=47, offs=1) -- 1700(line=47, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/intrange.dats: 1491(line=41, offs=1) -- 1527(line=41, offs=37)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/array0.sats: 1525(line=41, offs=1) -- 1571(line=44, offs=3)
*/

#include \
"libats/ML/CATS/array0.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/array0.sats: 1610(line=48, offs=1) -- 1645(line=48, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/intrange.dats: 1528(line=42, offs=1) -- 1566(line=42, offs=39)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/intrange.sats: 1629(line=47, offs=1) -- 1664(line=47, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/stdlib.sats: 1522(line=41, offs=1) -- 1557(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/stdlib.dats: 1394(line=36, offs=1) -- 1433(line=38, offs=27)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/stdlib.dats: 1437(line=40, offs=1) -- 1484(line=42, offs=31)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/libc/SATS/stdlib.sats: 1389(line=36, offs=1) -- 1443(line=41, offs=3)
*/

//
#include \
"libats/libc/CATS/stdlib.cats"
//
/*
/home/hwxi/Research/ATS-Postiats/libats/libc/SATS/stdlib.sats: 1810(line=62, offs=1) -- 1857(line=64, offs=31)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/stdlib.dats: 1509(line=46, offs=1) -- 1544(line=46, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/stdlib.dats: 1567(line=50, offs=1) -- 1603(line=50, offs=37)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/stdlib.sats: 1522(line=41, offs=1) -- 1557(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/funmap.sats: 1524(line=43, offs=1) -- 1559(line=43, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/funset.sats: 1524(line=41, offs=1) -- 1559(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/funmap.dats: 1485(line=41, offs=1) -- 1531(line=42, offs=34)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/funmap.dats: 1556(line=46, offs=1) -- 1591(line=46, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/list0.sats: 1665(line=47, offs=1) -- 1700(line=47, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/funmap.dats: 1614(line=50, offs=1) -- 1650(line=50, offs=37)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/funmap.sats: 1524(line=43, offs=1) -- 1559(line=43, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/funmap_avltree.dats: 1534(line=43, offs=1) -- 1573(line=43, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/funmap_avltree.dats: 1596(line=47, offs=1) -- 1637(line=47, offs=42)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/SHARE/funmap.hats: 3938(line=188, offs=1) -- 3974(line=188, offs=37)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/SATS/qlist.sats: 1605(line=53, offs=1) -- 1645(line=55, offs=3)
*/

#include "libats/CATS/qlist.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/funset.dats: 1484(line=40, offs=1) -- 1523(line=41, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/funset.dats: 1550(line=45, offs=1) -- 1596(line=47, offs=34)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/funset.dats: 1621(line=51, offs=1) -- 1656(line=51, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/funset.dats: 1679(line=55, offs=1) -- 1714(line=55, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/list0.sats: 1665(line=47, offs=1) -- 1700(line=47, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/funset.dats: 1737(line=59, offs=1) -- 1773(line=59, offs=37)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/funset.sats: 1524(line=41, offs=1) -- 1559(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/funset_avltree.dats: 1417(line=37, offs=1) -- 1456(line=37, offs=40)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/funset_avltree.dats: 1479(line=41, offs=1) -- 1520(line=41, offs=42)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/SHARE/funset.hats: 5364(line=289, offs=1) -- 5400(line=290, offs=25)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/SATS/qlist.sats: 1605(line=53, offs=1) -- 1645(line=55, offs=3)
*/

#include "libats/CATS/qlist.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/dynarray.dats: 1399(line=36, offs=1) -- 1438(line=37, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/dynarray.dats: 1461(line=41, offs=1) -- 1496(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/SATS/dynarray.sats: 1465(line=42, offs=1) -- 1510(line=45, offs=3)
*/

#include \
"libats/CATS/dynarray.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/dynarray.sats: 1529(line=41, offs=1) -- 1564(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/dynarray.dats: 1396(line=36, offs=1) -- 1435(line=37, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/dynarray.dats: 1460(line=41, offs=1) -- 1500(line=42, offs=33)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/SATS/dynarray.sats: 1465(line=42, offs=1) -- 1510(line=45, offs=3)
*/

#include \
"libats/CATS/dynarray.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/dynarray.dats: 1525(line=46, offs=1) -- 1560(line=46, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/dynarray.dats: 1561(line=47, offs=1) -- 1596(line=47, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/list0.sats: 1665(line=47, offs=1) -- 1700(line=47, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/dynarray.dats: 1619(line=51, offs=1) -- 1657(line=51, offs=39)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/dynarray.sats: 1529(line=41, offs=1) -- 1564(line=41, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/qlistref.dats: 1447(line=40, offs=1) -- 1486(line=41, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/qlistref.dats: 1511(line=45, offs=1) -- 1543(line=45, offs=33)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/SATS/qlist.sats: 1605(line=53, offs=1) -- 1645(line=55, offs=3)
*/

#include "libats/CATS/qlist.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/qlistref.dats: 1547(line=47, offs=1) -- 1582(line=47, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/qlistref.dats: 1583(line=48, offs=1) -- 1621(line=48, offs=39)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/slistref.dats: 1452(line=41, offs=1) -- 1491(line=42, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/slistref.dats: 1516(line=46, offs=1) -- 1551(line=46, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/slistref.dats: 1552(line=47, offs=1) -- 1590(line=47, offs=39)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/qlist.dats: 1404(line=36, offs=1) -- 1443(line=37, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/qlist.dats: 1466(line=41, offs=1) -- 1498(line=41, offs=33)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/SATS/qlist.sats: 1605(line=53, offs=1) -- 1645(line=55, offs=3)
*/

#include "libats/CATS/qlist.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/hashfun.dats: 1354(line=35, offs=1) -- 1393(line=36, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/hashfun.dats: 1416(line=40, offs=1) -- 1450(line=40, offs=35)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/SATS/hashfun.sats: 1354(line=35, offs=1) -- 1396(line=37, offs=3)
*/

#include "libats/CATS/hashfun.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/linmap_list.dats: 1539(line=41, offs=1) -- 1578(line=42, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/linmap_list.dats: 1601(line=46, offs=1) -- 1639(line=46, offs=39)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/SHARE/linmap.hats: 4640(line=237, offs=1) -- 4676(line=238, offs=25)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/SATS/qlist.sats: 1605(line=53, offs=1) -- 1645(line=55, offs=3)
*/

#include "libats/CATS/qlist.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/hashtbl_chain.dats: 1604(line=42, offs=1) -- 1643(line=43, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/hashtbl_chain.dats: 1666(line=47, offs=1) -- 1700(line=47, offs=35)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/SATS/hashfun.sats: 1354(line=35, offs=1) -- 1396(line=37, offs=3)
*/

#include "libats/CATS/hashfun.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/hashtbl_chain.dats: 1723(line=51, offs=1) -- 1763(line=51, offs=41)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/SHARE/hashtbl.hats: 5502(line=294, offs=1) -- 5538(line=294, offs=37)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/SATS/qlist.sats: 1605(line=53, offs=1) -- 1645(line=55, offs=3)
*/

#include "libats/CATS/qlist.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/DATS/hashtbl_chain.dats: 2924(line=127, offs=1) -- 2967(line=128, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/hashtblref.sats: 1524(line=43, offs=1) -- 1559(line=43, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/hashtblref.dats: 1394(line=36, offs=1) -- 1433(line=37, offs=32)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/hashtblref.dats: 1458(line=41, offs=1) -- 1503(line=42, offs=33)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/hashtblref.dats: 1528(line=46, offs=1) -- 1563(line=46, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/hashtblref.dats: 1586(line=50, offs=1) -- 1621(line=50, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/list0.sats: 1665(line=47, offs=1) -- 1700(line=47, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/hashtblref.dats: 1644(line=54, offs=1) -- 1678(line=54, offs=35)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/SATS/hashfun.sats: 1354(line=35, offs=1) -- 1396(line=37, offs=3)
*/

#include "libats/CATS/hashfun.cats"
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/hashtblref.dats: 1679(line=55, offs=1) -- 1719(line=55, offs=41)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/hashtblref.sats: 1524(line=43, offs=1) -- 1559(line=43, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 1487(line=43, offs=1) -- 1523(line=44, offs=28)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 1524(line=45, offs=1) -- 1560(line=46, offs=28)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/list0.sats: 1665(line=47, offs=1) -- 1700(line=47, offs=36)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/mylibies.hats: 97(line=9, offs=1) -- 149(line=11, offs=28)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 1487(line=43, offs=1) -- 1523(line=44, offs=28)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 1524(line=45, offs=1) -- 1560(line=46, offs=28)
*/
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/SATS/list0.sats: 1665(line=47, offs=1) -- 1700(line=47, offs=36)
*/
/*
staload-prologues(end)
*/
/*
typedefs-for-tyrecs-and-tysums(beg)
*/
typedef
ATSstruct {
// #if(1)
int contag ;
// #endif
atstkind_t0ype(atstype_int) atslab__0 ;
atstkind_type(atstype_ptrk) atslab__1 ;
atstkind_type(atstype_ptrk) atslab__2 ;
} postiats_tysum_0 ;
typedef
ATSstruct {
#if(0)
int contag ;
#endif
atstype_boxed atslab__0 ;
} postiats_tysum_1 ;
typedef
ATSstruct {
#if(0)
int contag ;
#endif
atstype_boxed atslab__0 ;
atstype_boxed atslab__1 ;
} postiats_tysum_2 ;
typedef
ATSstruct {
#if(0)
int contag ;
#endif
atstyvar_type(x) atslab__0 ;
atstype_boxed atslab__1 ;
} postiats_tysum_3 ;
typedef
ATSstruct {
#if(0)
int contag ;
#endif
atstyvar_type(y) atslab__0 ;
atstype_boxed atslab__1 ;
} postiats_tysum_4 ;
typedef
ATSstruct {
#if(0)
int contag ;
#endif
atstyvar_type(y) atslab__0 ;
atstkind_type(atstype_ptrk) atslab__1 ;
} postiats_tysum_5 ;
typedef
ATSstruct {
#if(0)
int contag ;
#endif
atstype_boxed atslab__0 ;
atstkind_type(atstype_ptrk) atslab__1 ;
} postiats_tysum_6 ;
/*
typedefs-for-tyrecs-and-tysums(end)
*/
/*
dynconlst-declaration(beg)
*/
/*
dynconlst-declaration(end)
*/
/*
dyncstlst-declaration(beg)
*/
ATSdyncst_mac(atspre_g1int2uint_int_size)
ATSdyncst_mac(atspre_arrayptr_free)
ATSdyncst_mac(atspre_malloc_gc)
ATSdyncst_mac(atspre_g1uint_mul_size)
ATSdyncst_mac(atspre_g1int2int_int_int)
ATSdyncst_mac(atspre_g1int_gte_int)
ATSdyncst_mac(atspre_lt_ptr0_ptr0)
ATSdyncst_mac(atspre_sub_ptr0_bsz)
ATSdyncst_mac(atspre_add_ptr0_bsz)
ATSdyncst_mac(atspre_lte_ptr0_ptr0)
ATSdyncst_mac(atspre_sub_ptr0_ptr0)
ATSdyncst_mac(atspre_g0int2int_int_int)
ATSdyncst_mac(atspre_g0int_compare_int)
ATSdyncst_mac(atspre_g0int_gt_int)
ATSdyncst_mac(atspre_g0uint_mul_size)
ATSdyncst_mac(atspre_g0int_lte_int)
ATSdyncst_mac(atspre_g0uint_half_size)
ATSdyncst_mac(atspre_g0uint_pred_size)
ATSdyncst_mac(atspre_g0int2uint_int_size)
ATSdyncst_mac(atspre_g0uint_gte_size)
ATSdyncst_mac(atspre_g0uint_div_size)
ATSdyncst_mac(atspre_g0uint_sub_size)
ATSdyncst_mac(atspre_g0uint_lte_size)
ATSdyncst_mac(atspre_g1int_half_int)
ATSdyncst_mac(atspre_g1int_sub_int)
ATSdyncst_mac(atspre_g1int_eq_int)
/*
dyncstlst-declaration(end)
*/
/*
dynvalist-implementation(beg)
*/
/*
dynvalist-implementation(end)
*/
/*
exnconlst-declaration(beg)
*/
#ifndef _ATS_CCOMP_EXCEPTION_NONE_
ATSextern()
atsvoid_t0ype
the_atsexncon_initize
(
  atstype_exnconptr d2c, atstype_string exnmsg
) ;
#endif // end of [_ATS_CCOMP_EXCEPTION_NONE_]
/*
exnconlst-declaration(end)
*/
/*
assumelst-declaration(beg)
*/
#ifndef _ATS_CCOMP_ASSUME_CHECK_NONE_
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_int.dats: 456(line=36, offs=1) -- 488(line=36, offs=33)
*/
ATSassume(_057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_DATS_057_MergeSort_array_056_dats__elt_t0ype) ;
#endif // #ifndef(_ATS_CCOMP_ASSUME_CHECK_NONE_)
/*
assumelst-declaration(end)
*/
/*
extypelst-declaration(beg)
*/
/*
extypelst-declaration(end)
*/
#if(0)
#if(0)
ATSextern()
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__gcompare_val_val__0(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

#if(0)
#if(0)
ATSextern()
atstkind_t0ype(atstype_int)
_057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_DATS_057_MergeSort_array_056_dats__MergeSort_array__cutoff__1() ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

#if(0)
ATSextern()
atsvoid_t0ype
_057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_TEST_057_testlib_056_dats__MergeSort_array_int(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
#endif // end of [QUALIFIED]

#if(0)
#if(0)
ATSextern()
atsvoid_t0ype
_057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_DATS_057_MergeSort_array_056_dats__MergeSort_array__3(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atsvoid_t0ype
_057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_DATS_057_MergeSort_array_056_dats__MergeSort_array__3__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;

#if(0)
#if(0)
ATSextern()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__arrayptr_make_uninitized__5(atstkind_t0ype(atstype_size)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__arrayptr_make_uninitized__5__1(atstkind_t0ype(atstype_size)) ;

#if(0)
#if(0)
ATSextern()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__array_ptr_alloc__7(atstkind_t0ype(atstype_size)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__array_ptr_alloc__7__1(atstkind_t0ype(atstype_size)) ;

#if(0)
#if(0)
ATSextern()
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__10(atstype_boxed) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__10__1(atstype_boxed) ;

#if(0)
#if(0)
ATSextern()
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__memo_get__12(atstype_boxed) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__memo_get__12__1(atstype_boxed) ;

#if(0)
#if(0)
ATSextern()
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__eval__14(atstype_boxed) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__eval__14__1(atstype_boxed) ;

#if(0)
#if(0)
ATSextern()
atstkind_t0ype(atstype_bool)
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__base_test__16(atstype_boxed) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__base_test__16__1(atstype_boxed) ;

ATSstatic()
atstkind_t0ype(atstype_int)
_057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_DATS_057_MergeSort_array_056_dats__MergeSort_array__cutoff__1__1() ;

#if(0)
#if(0)
ATSextern()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gte_g1int_int__19(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gte_g1int_int__19__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gte_g1int_int__19__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

#if(0)
#if(0)
ATSextern()
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__base_solve__24(atstype_boxed) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

#if(0)
ATSstatic()
atsvoid_t0ype
sort_25__25(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
#endif // end of [TEMPLATE]

#if(0)
#if(0)
ATSextern()
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__array_quicksort__cmp__26(atsrefarg1_type(atstkind_t0ype(atstype_int)), atsrefarg1_type(atstkind_t0ype(atstype_int))) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

#if(0)
ATSstatic()
atsvoid_t0ype
copy_27__27(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
#endif // end of [TEMPLATE]

ATSstatic()
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__base_solve__24__1(atstype_boxed) ;

ATSstatic()
atsvoid_t0ype
sort_25__25__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;

#if(0)
#if(0)
ATSextern()
atsvoid_t0ype
ATSLIB_056_prelude__arrayref_quicksort__30(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atsvoid_t0ype
ATSLIB_056_prelude__arrayref_quicksort__30__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size)) ;

#if(0)
#if(0)
ATSextern()
atsvoid_t0ype
ATSLIB_056_prelude__array_quicksort__32(atsrefarg1_type(atstyarr_type(atstyvar_type(a))), atstkind_t0ype(atstype_size)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

#if(0)
ATSstatic()
atstkind_t0ype(atstype_int)
ptrcmp_33__33(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk)) ;
#endif // end of [TEMPLATE]

#if(0)
ATSstatic()
atsvoid_t0ype
auxins_34__34(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size)) ;
#endif // end of [TEMPLATE]

#if(0)
ATSstatic()
atsvoid_t0ype
auxinss_35__35(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size)) ;
#endif // end of [TEMPLATE]

#if(0)
ATSstatic()
atsvoid_t0ype
auxinsort_36__36(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size), atstkind_t0ype(atstype_size)) ;
#endif // end of [TEMPLATE]

#if(0)
ATSstatic()
atstkind_type(atstype_ptrk)
auxmid_37__37(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk)) ;
#endif // end of [TEMPLATE]

#if(0)
ATSstatic()
atsvoid_t0ype
auxpivot_38__38(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size), atstkind_t0ype(atstype_size)) ;
#endif // end of [TEMPLATE]

#if(0)
ATSstatic()
atstkind_type(atstype_ptrk)
auxsplit_l_39__39(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size)) ;
#endif // end of [TEMPLATE]

#if(0)
ATSstatic()
atstkind_type(atstype_ptrk)
auxsplit_r_40__40(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size)) ;
#endif // end of [TEMPLATE]

#if(0)
ATSstatic()
atstkind_type(atstype_ptrk)
auxsplit_lr_41__41(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size)) ;
#endif // end of [TEMPLATE]

#if(0)
ATSstatic()
atsvoid_t0ype
auxqsort_42__42(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size), atstkind_t0ype(atstype_size)) ;
#endif // end of [TEMPLATE]

ATSstatic()
atsvoid_t0ype
ATSLIB_056_prelude__array_quicksort__32__1(atsrefarg1_type(atstyarr_type(atstkind_t0ype(atstype_int))), atstkind_t0ype(atstype_size)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
ptrcmp_33__33__1(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__array_quicksort__cmp__26__1(atsrefarg1_type(atstkind_t0ype(atstype_int)), atsrefarg1_type(atstkind_t0ype(atstype_int))) ;

#if(0)
#if(0)
ATSextern()
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__gcompare_ref_ref__46(atsrefarg1_type(atstyvar_type(a)), atsrefarg1_type(atstyvar_type(a))) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__gcompare_ref_ref__46__1(atsrefarg1_type(atstkind_t0ype(atstype_int)), atsrefarg1_type(atstkind_t0ype(atstype_int))) ;

ATSstatic()
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__gcompare_val_val__0__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

#if(0)
#if(0)
ATSextern()
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__compare_g0int_int__49(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__compare_g0int_int__49__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atsvoid_t0ype
auxins_34__34__1(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size)) ;

#if(0)
#if(0)
ATSextern()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gt_g0int_int__54(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gt_g0int_int__54__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

#if(0)
#if(0)
ATSextern()
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_intch__57(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_intch__57__1(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk)) ;

ATSstatic()
atsvoid_t0ype
auxinss_35__35__1(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size)) ;

ATSstatic()
atsvoid_t0ype
auxinsort_36__36__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size), atstkind_t0ype(atstype_size)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
auxmid_37__37__1(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk)) ;

#if(0)
#if(0)
ATSextern()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lte_g0int_int__63(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lte_g0int_int__63__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lte_g0int_int__63__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lte_g0int_int__63__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lte_g0int_int__63__4(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lte_g0int_int__63__5(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atsvoid_t0ype
auxpivot_38__38__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size), atstkind_t0ype(atstype_size)) ;

ATSstatic()
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_intch__57__2(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
auxsplit_l_39__39__1(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size)) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lte_g0int_int__63__6(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
auxsplit_r_40__40__1(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size)) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lte_g0int_int__63__7(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
auxsplit_lr_41__41__1(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size)) ;

ATSstatic()
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_intch__57__3(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk)) ;

ATSstatic()
atsvoid_t0ype
auxqsort_42__42__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size), atstkind_t0ype(atstype_size)) ;

#if(0)
#if(0)
ATSextern()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gte_g0uint_int__81(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gte_g0uint_int__81__1(atstkind_t0ype(atstype_size), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_intch__57__4(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk)) ;

ATSstatic()
atsvoid_t0ype
copy_27__27__1(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;

#if(0)
#if(0)
ATSextern()
atstkind_t0ype(atstype_size)
ATSLIB_056_prelude__mul_int1_size1__90(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_size)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atstkind_t0ype(atstype_size)
ATSLIB_056_prelude__mul_int1_size1__90__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_size)) ;

#if(0)
#if(0)
ATSextern()
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__divide__92(atstype_boxed) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__divide__92__1(atstype_boxed) ;

#if(0)
#if(0)
ATSextern()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_add_gint__95(atstkind_type(atstype_ptrk), atstkind_t0ype(atstyvar_type(tk))) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_add_gint__95__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_add_gint__95__2(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_add_gint__95__3(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_add_gint__95__4(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;

#if(0)
#if(0)
ATSextern()
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__101(atstype_boxed, atstype_boxed) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

#if(0)
ATSstatic()
atstype_boxed
__patsfun_102__102(atstype_boxed) ;
#endif // end of [TEMPLATE]

ATSstatic()
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__101__1(atstype_boxed, atstype_boxed) ;

#if(0)
#if(0)
ATSextern()
atstype_boxed
ATSLIB_056_libats_056_ML__list0_map__104(atstype_boxed, atstype_cloptr) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

#if(0)
#if(0)
ATSextern()
atstyvar_type(b2)
ATSLIB_056_prelude__list_map__fopr__105(atstype_cloptr, atstyvar_type(a2)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atstype_boxed
ATSLIB_056_libats_056_ML__list0_map__104__1(atstype_boxed, atstype_cloptr) ;

#if(0)
#if(0)
ATSextern()
atstype_boxed
ATSLIB_056_prelude__list_map__107(atstype_boxed) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

#if(0)
ATSstatic()
atsvoid_t0ype
loop_108__108(atstype_boxed, atsrefarg1_type(atstkind_type(atstype_ptrk))) ;
#endif // end of [TEMPLATE]

ATSstatic()
atstype_boxed
ATSLIB_056_prelude__list_map__107__1(atstype_cloptr, atstype_boxed) ;

ATSstatic()
atsvoid_t0ype
loop_108__108__1(atstype_cloptr, atstype_boxed, atsrefarg1_type(atstkind_type(atstype_ptrk))) ;

ATSstatic()
atstype_boxed
ATSLIB_056_prelude__list_map__fopr__105__1(atstype_cloptr, atstype_boxed) ;

ATSstatic()
atstype_boxed
__patsfun_102__102__1(atstype_boxed) ;

#if(0)
#if(0)
ATSextern()
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve_rec__113(atstype_boxed) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve_rec__113__1(atstype_boxed) ;

#if(0)
#if(0)
ATSextern()
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__combine__115(atstype_boxed, atstype_boxed) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

#if(0)
ATSstatic()
atsvoid_t0ype
copy_116__116(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;
#endif // end of [TEMPLATE]

#if(0)
ATSstatic()
atsvoid_t0ype
merge_117__117(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
#endif // end of [TEMPLATE]

#if(0)
ATSstatic()
atsvoid_t0ype
merge1_118__118(atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
#endif // end of [TEMPLATE]

#if(0)
ATSstatic()
atsvoid_t0ype
merge2_119__119(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;
#endif // end of [TEMPLATE]

ATSstatic()
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__combine__115__1(atstype_boxed, atstype_boxed) ;

ATSstatic()
atsvoid_t0ype
copy_116__116__1(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_size)
ATSLIB_056_prelude__mul_int1_size1__90__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_size)) ;

ATSstatic()
atsvoid_t0ype
merge_117__117__1(atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atsvoid_t0ype
merge1_118__118__1(atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atsvoid_t0ype
merge2_119__119__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

#if(0)
#if(0)
ATSextern()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__eq_g1int_int__126(atstkind_t0ype(atstyvar_type(tk)), atstkind_t0ype(atstype_int)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__eq_g1int_int__126__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

#if(0)
#if(0)
ATSextern()
atstyvar_type(a)
ATSLIB_056_prelude_056_unsafe__ptr0_get__129(atstkind_type(atstype_ptrk)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude_056_unsafe__ptr0_get__129__1(atstkind_type(atstype_ptrk)) ;

#if(0)
#if(0)
ATSextern()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__131(atstkind_type(atstype_ptrk)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__131__1(atstkind_type(atstype_ptrk)) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__eq_g1int_int__126__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

#if(0)
#if(0)
ATSextern()
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__134(atstkind_type(atstype_ptrk), atstyvar_type(a)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__134__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__131__2(atstkind_type(atstype_ptrk)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude_056_unsafe__ptr0_get__129__2(atstkind_type(atstype_ptrk)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__131__3(atstkind_type(atstype_ptrk)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__gcompare_val_val__0__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__compare_g0int_int__49__2(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lte_g0int_int__63__8(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__134__2(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__131__4(atstkind_type(atstype_ptrk)) ;

ATSstatic()
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__134__3(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__131__5(atstkind_type(atstype_ptrk)) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__eq_g1int_int__126__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__134__4(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__131__6(atstkind_type(atstype_ptrk)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude_056_unsafe__ptr0_get__129__3(atstkind_type(atstype_ptrk)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__131__7(atstkind_type(atstype_ptrk)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__gcompare_val_val__0__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__compare_g0int_int__49__3(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lte_g0int_int__63__9(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__134__5(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__131__8(atstkind_type(atstype_ptrk)) ;

ATSstatic()
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__134__6(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__131__9(atstkind_type(atstype_ptrk)) ;

#if(0)
#if(0)
ATSextern()
atsvoid_t0ype
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__eval__memo_set__158(atstype_boxed, atstype_boxed) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atsvoid_t0ype
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__eval__memo_set__158__1(atstype_boxed, atstype_boxed) ;

ATSclosurerize_beg(__patsfun_102__102__1, (), (atstype_boxed), atstype_boxed)
typedef
ATSstruct {
atstype_funptr cfun ;
} __patsfun_102__102__1__closure_t0ype ;
ATSstatic()
atstype_boxed
__patsfun_102__102__1__cfun
(
__patsfun_102__102__1__closure_t0ype *p_cenv, atstype_boxed arg0
)
{
ATSFCreturn(__patsfun_102__102__1(arg0)) ;
} /* end of [cfun] */
ATSstatic()
atstype_cloptr
__patsfun_102__102__1__closureinit
(
__patsfun_102__102__1__closure_t0ype *p_cenv
)
{
p_cenv->cfun = __patsfun_102__102__1__cfun ;
return p_cenv ;
} /* end of [closureinit] */
ATSstatic()
atstype_cloptr
__patsfun_102__102__1__closurerize
(
// argumentless
)
{
return __patsfun_102__102__1__closureinit(ATS_MALLOC(sizeof(__patsfun_102__102__1__closure_t0ype))) ;
} /* end of [closurerize] */
ATSclosurerize_end()
#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_int.dats: 526(line=40, offs=3) -- 548(line=40, offs=25)
*/
/*
local: 
global: gcompare_val_val$0$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))
tmpsub = None()
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__gcompare_val_val__0(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret0, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_int.dats: 502(line=39, offs=1) -- 548(line=40, offs=25)
*/
ATSINSflab(__patsflab_gcompare_val_val):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_int.dats: 535(line=40, offs=12) -- 548(line=40, offs=25)
*/
ATSINSmove(tmpret0, PMVtmpltcst(compare_g0int_int<S2Eextkind(atstype_int)>)(arg0, arg1)) ;

ATSfunbody_end()
ATSreturn(tmpret0) ;
} /* end of [ATSLIB_056_prelude__gcompare_val_val__0] */
#endif // end of [TEMPLATE]

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_int.dats: 596(line=43, offs=35) -- 602(line=43, offs=41)
*/
/*
local: 
global: MergeSort_array$cutoff$1$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstkind_t0ype(atstype_int)
_057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_DATS_057_MergeSort_array_056_dats__MergeSort_array__cutoff__1()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_int.dats: 562(line=43, offs=1) -- 602(line=43, offs=41)
*/
ATSINSflab(__patsflab_MergeSort_array__cutoff):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_int.dats: 601(line=43, offs=40) -- 602(line=43, offs=41)
*/
ATSINSmove(tmpret1, ATSPMVi0nt(5)) ;
ATSfunbody_end()
ATSreturn(tmpret1) ;
} /* end of [_057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_DATS_057_MergeSort_array_056_dats__MergeSort_array__cutoff__1] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_int.dats: 635(line=46, offs=20) -- 679(line=46, offs=64)
*/
/*
local: 
global: MergeSort_array_int$2$0(level=0)
local: 
global: 
*/
ATSextern()
atsvoid_t0ype
_057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_TEST_057_testlib_056_dats__MergeSort_array_int(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret2) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_int.dats: 616(line=46, offs=1) -- 679(line=46, offs=64)
*/
ATSINSflab(__patsflab_MergeSort_array_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_int.dats: 645(line=46, offs=30) -- 679(line=46, offs=64)
*/
ATSINSmove_void(tmpret2, _057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_DATS_057_MergeSort_array_056_dats__MergeSort_array__3__1(arg0, arg1)) ;

ATSfunbody_end()
ATSreturn_void(tmpret2) ;
} /* end of [_057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_TEST_057_testlib_056_dats__MergeSort_array_int] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6413(line=357, offs=3) -- 6664(line=375, offs=2)
*/
/*
local: 
global: MergeSort_array$3$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atsvoid_t0ype
_057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_DATS_057_MergeSort_array_056_dats__MergeSort_array__3(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret3) ;
ATStmpdec(tmp4, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp5, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp6, atstype_boxed) ;
ATStmpdec(tmp7, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6395(line=356, offs=1) -- 6664(line=375, offs=2)
*/
ATSINSflab(__patsflab_MergeSort_array):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6422(line=357, offs=12) -- 6664(line=375, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6515(line=365, offs=4) -- 6521(line=365, offs=10)
*/
ATSINSmove(tmp5, atspre_g1int2uint_int_size(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6482(line=364, offs=1) -- 6523(line=365, offs=12)
*/
ATSINSmove(tmp4, PMVtmpltcst(arrayptr_make_uninitized<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(tmp5)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6537(line=368, offs=1) -- 6570(line=368, offs=34)
*/

/*
#LINCONSTATUS==1
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmp6, postiats_tysum_0) ;
// #if(1)
ATSINSstore_con1_tag(tmp6, 0) ;
// #endif
ATSINSstore_con1_ofs(tmp6, postiats_tysum_0, atslab__0, arg1) ;
ATSINSstore_con1_ofs(tmp6, postiats_tysum_0, atslab__1, ATSPMVcastfn(arrayref2ptr, atstkind_type(atstype_ptrk), arg0)) ;
ATSINSstore_con1_ofs(tmp6, postiats_tysum_0, atslab__2, ATSPMVcastfn(arrayptr2ptr, atstkind_type(atstype_ptrk), ATSPMVrefarg0(tmp4))) ;
ATSINSmove_con1_end()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6591(line=371, offs=3) -- 6620(line=371, offs=32)
*/
ATSINSmove(tmp7, PMVtmpltcst(DivideConquer$solve<>)(tmp6)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6643(line=373, offs=19) -- 6658(line=373, offs=34)
*/
ATSINSmove_void(tmpret3, atspre_arrayptr_free(tmp4)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6422(line=357, offs=12) -- 6664(line=375, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret3) ;
} /* end of [_057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_DATS_057_MergeSort_array_056_dats__MergeSort_array__3] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6413(line=357, offs=3) -- 6664(line=375, offs=2)
*/
/*
local: 
global: MergeSort_array$3$1(level=1)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atsvoid_t0ype
_057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_DATS_057_MergeSort_array_056_dats__MergeSort_array__3__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret3__1) ;
ATStmpdec(tmp4__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp5__1, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp6__1, atstype_boxed) ;
ATStmpdec(tmp7__1, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6395(line=356, offs=1) -- 6664(line=375, offs=2)
*/
ATSINSflab(__patsflab_MergeSort_array):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6422(line=357, offs=12) -- 6664(line=375, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6515(line=365, offs=4) -- 6521(line=365, offs=10)
*/
ATSINSmove(tmp5__1, atspre_g1int2uint_int_size(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6482(line=364, offs=1) -- 6523(line=365, offs=12)
*/
ATSINSmove(tmp4__1, ATSLIB_056_prelude__arrayptr_make_uninitized__5__1(tmp5__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6537(line=368, offs=1) -- 6570(line=368, offs=34)
*/

/*
#LINCONSTATUS==1
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmp6__1, postiats_tysum_0) ;
// #if(1)
ATSINSstore_con1_tag(tmp6__1, 0) ;
// #endif
ATSINSstore_con1_ofs(tmp6__1, postiats_tysum_0, atslab__0, arg1) ;
ATSINSstore_con1_ofs(tmp6__1, postiats_tysum_0, atslab__1, ATSPMVcastfn(arrayref2ptr, atstkind_type(atstype_ptrk), arg0)) ;
ATSINSstore_con1_ofs(tmp6__1, postiats_tysum_0, atslab__2, ATSPMVcastfn(arrayptr2ptr, atstkind_type(atstype_ptrk), ATSPMVrefarg0(tmp4__1))) ;
ATSINSmove_con1_end()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6591(line=371, offs=3) -- 6620(line=371, offs=32)
*/
ATSINSmove(tmp7__1, ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__10__1(tmp6__1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6643(line=373, offs=19) -- 6658(line=373, offs=34)
*/
ATSINSmove_void(tmpret3__1, atspre_arrayptr_free(tmp4__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6422(line=357, offs=12) -- 6664(line=375, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret3__1) ;
} /* end of [_057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_DATS_057_MergeSort_array_056_dats__MergeSort_array__3__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/arrayptr.dats: 4059(line=197, offs=3) -- 4122(line=200, offs=4)
*/
/*
local: 
global: arrayptr_make_uninitized$5$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = a(7683)
tmparg = S2Evar(a(7683))
tmpsub = None()
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__arrayptr_make_uninitized__5(atstkind_t0ype(atstype_size) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret13, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp14, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/arrayptr.dats({$PATSPRE}/DATS/arrayptr.dats): 4032(line=196, offs=1) -- 4122(line=200, offs=4)
*/
ATSINSflab(__patsflab_arrayptr_make_uninitized):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/arrayptr.dats({$PATSPRE}/DATS/arrayptr.dats): 4093(line=199, offs=20) -- 4116(line=199, offs=43)
*/
ATSINSmove(tmp14, PMVtmpltcst(array_ptr_alloc<S2Evar(a(7683))>)(arg0)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/arrayptr.dats({$PATSPRE}/DATS/arrayptr.dats): 4076(line=199, offs=3) -- 4118(line=199, offs=45)
*/
ATSINSmove(tmpret13, ATSPMVcastfn(arrayptr_encode2, atstkind_type(atstype_ptrk), tmp14)) ;
ATSfunbody_end()
ATSreturn(tmpret13) ;
} /* end of [ATSLIB_056_prelude__arrayptr_make_uninitized__5] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/arrayptr.dats: 4059(line=197, offs=3) -- 4122(line=200, offs=4)
*/
/*
local: 
global: arrayptr_make_uninitized$5$1(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(7683)
tmparg = S2Evar(a(7683))
tmpsub = Some(a(7683) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__arrayptr_make_uninitized__5__1(atstkind_t0ype(atstype_size) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret13__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp14__1, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/arrayptr.dats({$PATSPRE}/DATS/arrayptr.dats): 4032(line=196, offs=1) -- 4122(line=200, offs=4)
*/
ATSINSflab(__patsflab_arrayptr_make_uninitized):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/arrayptr.dats({$PATSPRE}/DATS/arrayptr.dats): 4093(line=199, offs=20) -- 4116(line=199, offs=43)
*/
ATSINSmove(tmp14__1, ATSLIB_056_prelude__array_ptr_alloc__7__1(arg0)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/arrayptr.dats({$PATSPRE}/DATS/arrayptr.dats): 4076(line=199, offs=3) -- 4118(line=199, offs=45)
*/
ATSINSmove(tmpret13__1, ATSPMVcastfn(arrayptr_encode2, atstkind_type(atstype_ptrk), tmp14__1)) ;
ATSfunbody_end()
ATSreturn(tmpret13__1) ;
} /* end of [ATSLIB_056_prelude__arrayptr_make_uninitized__5__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/array.dats: 4958(line=227, offs=6) -- 5228(line=244, offs=4)
*/
/*
local: 
global: array_ptr_alloc$7$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = a(7452)
tmparg = S2Evar(a(7452))
tmpsub = None()
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__array_ptr_alloc__7(atstkind_t0ype(atstype_size) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret17, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp18, atstkind_t0ype(atstype_size)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/array.dats({$PATSPRE}/DATS/array.dats): 4937(line=226, offs=1) -- 5228(line=244, offs=4)
*/
ATSINSflab(__patsflab_array_ptr_alloc):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/array.dats({$PATSPRE}/DATS/array.dats): 4966(line=227, offs=14) -- 5228(line=244, offs=4)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/array.dats({$PATSPRE}/DATS/array.dats): 5018(line=233, offs=16) -- 5033(line=233, offs=31)
*/
ATSINSmove(tmp18, PMVtmpltcst(g1uint_mul<S2Eextkind(atstype_size)>)(arg0, ATSPMVsizeof(atstyvar_type(a)))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/array.dats({$PATSPRE}/DATS/array.dats): 5007(line=233, offs=5) -- 5034(line=233, offs=32)
*/
ATSINSmove(tmpret17, atspre_malloc_gc(tmp18)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/array.dats({$PATSPRE}/DATS/array.dats): 4966(line=227, offs=14) -- 5228(line=244, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret17) ;
} /* end of [ATSLIB_056_prelude__array_ptr_alloc__7] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/array.dats: 4958(line=227, offs=6) -- 5228(line=244, offs=4)
*/
/*
local: 
global: array_ptr_alloc$7$1(level=3)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(7452)
tmparg = S2Evar(a(7452))
tmpsub = Some(a(7452) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__array_ptr_alloc__7__1(atstkind_t0ype(atstype_size) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret17__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp18__1, atstkind_t0ype(atstype_size)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/array.dats({$PATSPRE}/DATS/array.dats): 4937(line=226, offs=1) -- 5228(line=244, offs=4)
*/
ATSINSflab(__patsflab_array_ptr_alloc):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/array.dats({$PATSPRE}/DATS/array.dats): 4966(line=227, offs=14) -- 5228(line=244, offs=4)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/array.dats({$PATSPRE}/DATS/array.dats): 5018(line=233, offs=16) -- 5033(line=233, offs=31)
*/
ATSINSmove(tmp18__1, atspre_g1uint_mul_size(arg0, ATSPMVsizeof(atstkind_t0ype(atstype_int)))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/array.dats({$PATSPRE}/DATS/array.dats): 5007(line=233, offs=5) -- 5034(line=233, offs=32)
*/
ATSINSmove(tmpret17__1, atspre_malloc_gc(tmp18__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/array.dats({$PATSPRE}/DATS/array.dats): 4966(line=227, offs=14) -- 5228(line=244, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret17__1) ;
} /* end of [ATSLIB_056_prelude__array_ptr_alloc__7__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2543(line=112, offs=3) -- 2713(line=122, offs=4)
*/
/*
local: 
global: DivideConquer$solve$10$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__10(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret21, atstype_boxed) ;
ATStmpdec(tmp22, atstype_boxed) ;
ATStmpdec(tmp23, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2521(line=111, offs=1) -- 2713(line=122, offs=4)
*/
ATSINSflab(__patsflab_DivideConquer__solve):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2550(line=112, offs=10) -- 2713(line=122, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2569(line=115, offs=3) -- 2602(line=115, offs=36)
*/
ATSINSmove(tmp22, PMVtmpltcst(DivideConquer$solve$memo_get<>)(arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2612(line=118, offs=3) -- 2709(line=121, offs=36)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2629(line=119, offs=5) -- 2641(line=119, offs=17)
*/
ATSINSlab(__atstmplab0):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2569(line=115, offs=3) -- 2602(line=115, offs=36)
*/
ATSifthen(ATSCKptrisnull(tmp22)) { ATSINSgoto(__atstmplab3) ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2641(line=119, offs=17) -- 2641(line=119, offs=17)
*/
ATSINSlab(__atstmplab1):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2638(line=119, offs=14) -- 2640(line=119, offs=16)
*/
ATSINSmove(tmp23, ATSSELcon(tmp22, postiats_tysum_1, atslab__0)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2629(line=119, offs=5) -- 2647(line=119, offs=23)
*/
ATSINSfreecon(tmp22) ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2645(line=119, offs=21) -- 2647(line=119, offs=23)
*/
ATSINSmove(tmpret21, tmp23) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2652(line=120, offs=5) -- 2670(line=120, offs=23)
*/
ATSINSlab(__atstmplab2):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2569(line=115, offs=3) -- 2602(line=115, offs=36)
*/
#if(0)
ATSifthen(ATSCKptriscons(tmp22)) { ATSINSdeadcode_fail() ; } ;
#endif
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2670(line=120, offs=23) -- 2670(line=120, offs=23)
*/
ATSINSlab(__atstmplab3):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2679(line=121, offs=6) -- 2708(line=121, offs=35)
*/
ATSINSmove(tmpret21, PMVtmpltcst(DivideConquer$solve$eval<>)(arg0)) ;

ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2550(line=112, offs=10) -- 2713(line=122, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret21) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__10] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2543(line=112, offs=3) -- 2713(line=122, offs=4)
*/
/*
local: 
global: DivideConquer$solve$10$1(level=2)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__10__1(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret21__1, atstype_boxed) ;
ATStmpdec(tmp22__1, atstype_boxed) ;
ATStmpdec(tmp23__1, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2521(line=111, offs=1) -- 2713(line=122, offs=4)
*/
ATSINSflab(__patsflab_DivideConquer__solve):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2550(line=112, offs=10) -- 2713(line=122, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2569(line=115, offs=3) -- 2602(line=115, offs=36)
*/
ATSINSmove(tmp22__1, ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__memo_get__12__1(arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2612(line=118, offs=3) -- 2709(line=121, offs=36)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2629(line=119, offs=5) -- 2641(line=119, offs=17)
*/
ATSINSlab(__atstmplab0):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2569(line=115, offs=3) -- 2602(line=115, offs=36)
*/
ATSifthen(ATSCKptrisnull(tmp22__1)) { ATSINSgoto(__atstmplab3) ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2641(line=119, offs=17) -- 2641(line=119, offs=17)
*/
ATSINSlab(__atstmplab1):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2638(line=119, offs=14) -- 2640(line=119, offs=16)
*/
ATSINSmove(tmp23__1, ATSSELcon(tmp22__1, postiats_tysum_1, atslab__0)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2629(line=119, offs=5) -- 2647(line=119, offs=23)
*/
ATSINSfreecon(tmp22__1) ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2645(line=119, offs=21) -- 2647(line=119, offs=23)
*/
ATSINSmove(tmpret21__1, tmp23__1) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2652(line=120, offs=5) -- 2670(line=120, offs=23)
*/
ATSINSlab(__atstmplab2):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2569(line=115, offs=3) -- 2602(line=115, offs=36)
*/
#if(0)
ATSifthen(ATSCKptriscons(tmp22__1)) { ATSINSdeadcode_fail() ; } ;
#endif
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2670(line=120, offs=23) -- 2670(line=120, offs=23)
*/
ATSINSlab(__atstmplab3):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2679(line=121, offs=6) -- 2708(line=121, offs=35)
*/
ATSINSmove(tmpret21__1, ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__eval__14__1(arg0)) ;

ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2550(line=112, offs=10) -- 2713(line=122, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret21__1) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__10__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3334(line=162, offs=3) -- 3350(line=162, offs=19)
*/
/*
local: 
global: DivideConquer$solve$memo_get$12$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__memo_get__12(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret27, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3303(line=161, offs=1) -- 3350(line=162, offs=19)
*/
ATSINSflab(__patsflab_DivideConquer__solve__memo_get):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3341(line=162, offs=10) -- 3350(line=162, offs=19)
*/

ATSINSmove_nil(tmpret27) ;

ATSfunbody_end()
ATSreturn(tmpret27) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__memo_get__12] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3334(line=162, offs=3) -- 3350(line=162, offs=19)
*/
/*
local: 
global: DivideConquer$solve$memo_get$12$1(level=3)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__memo_get__12__1(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret27__1, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3303(line=161, offs=1) -- 3350(line=162, offs=19)
*/
ATSINSflab(__patsflab_DivideConquer__solve__memo_get):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3341(line=162, offs=10) -- 3350(line=162, offs=19)
*/

ATSINSmove_nil(tmpret27__1) ;

ATSfunbody_end()
ATSreturn(tmpret27__1) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__memo_get__12__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2920(line=136, offs=3) -- 3226(line=155, offs=4)
*/
/*
local: 
global: DivideConquer$solve$eval$14$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__eval__14(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29, atstype_boxed) ;
ATStmpdec(tmp30, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp31, atstype_boxed) ;
ATStmpdec(tmp32, atstype_boxed) ;
// ATStmpdec_void(tmp33) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2893(line=135, offs=1) -- 3226(line=155, offs=4)
*/
ATSINSflab(__patsflab_DivideConquer__solve__eval):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2927(line=136, offs=10) -- 3226(line=155, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2945(line=140, offs=1) -- 2973(line=140, offs=29)
*/
ATSINSmove(tmp30, PMVtmpltcst(DivideConquer$base_test<>)(arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3000(line=144, offs=1) -- 3199(line=153, offs=2)
*/
ATSif(
tmp30
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3015(line=147, offs=1) -- 3044(line=147, offs=30)
*/
ATSINSmove(tmpret29, PMVtmpltcst(DivideConquer$base_solve<>)(arg0)) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3051(line=148, offs=6) -- 3199(line=153, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3073(line=150, offs=12) -- 3098(line=150, offs=37)
*/
ATSINSmove(tmp31, PMVtmpltcst(DivideConquer$divide<>)(arg0)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3111(line=151, offs=12) -- 3142(line=151, offs=43)
*/
ATSINSmove(tmp32, PMVtmpltcst(DivideConquer$conquer<>)(arg0, tmp31)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3154(line=152, offs=12) -- 3197(line=152, offs=55)
*/
ATSINSmove_void(tmp33, PMVtmpltcst(DivideConquer$solve$eval$memo_set<>)(arg0, tmp32)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3051(line=148, offs=6) -- 3053(line=148, offs=8)
*/
ATSINSmove(tmpret29, tmp32) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3051(line=148, offs=6) -- 3199(line=153, offs=2)
*/
/*
INSletpop()
*/
} /* ATSendif */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2927(line=136, offs=10) -- 3226(line=155, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__eval__14] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2920(line=136, offs=3) -- 3226(line=155, offs=4)
*/
/*
local: 
global: DivideConquer$solve$eval$14$1(level=3)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__eval__14__1(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret29__1, atstype_boxed) ;
ATStmpdec(tmp30__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp31__1, atstype_boxed) ;
ATStmpdec(tmp32__1, atstype_boxed) ;
// ATStmpdec_void(tmp33__1) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2893(line=135, offs=1) -- 3226(line=155, offs=4)
*/
ATSINSflab(__patsflab_DivideConquer__solve__eval):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2927(line=136, offs=10) -- 3226(line=155, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2945(line=140, offs=1) -- 2973(line=140, offs=29)
*/
ATSINSmove(tmp30__1, ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__base_test__16__1(arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3000(line=144, offs=1) -- 3199(line=153, offs=2)
*/
ATSif(
tmp30__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3015(line=147, offs=1) -- 3044(line=147, offs=30)
*/
ATSINSmove(tmpret29__1, ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__base_solve__24__1(arg0)) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3051(line=148, offs=6) -- 3199(line=153, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3073(line=150, offs=12) -- 3098(line=150, offs=37)
*/
ATSINSmove(tmp31__1, ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__divide__92__1(arg0)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3111(line=151, offs=12) -- 3142(line=151, offs=43)
*/
ATSINSmove(tmp32__1, ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__101__1(arg0, tmp31__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3154(line=152, offs=12) -- 3197(line=152, offs=55)
*/
ATSINSmove_void(tmp33__1, ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__eval__memo_set__158__1(arg0, tmp32__1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3051(line=148, offs=6) -- 3053(line=148, offs=8)
*/
ATSINSmove(tmpret29__1, tmp32__1) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3051(line=148, offs=6) -- 3199(line=153, offs=2)
*/
/*
INSletpop()
*/
} /* ATSendif */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2927(line=136, offs=10) -- 3226(line=155, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret29__1) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__eval__14__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2298(line=99, offs=3) -- 2499(line=112, offs=4)
*/
/*
local: 
global: DivideConquer$base_test$16$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__base_test__16(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret39, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp40, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp41, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp44, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp47, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp48, atstkind_t0ype(atstype_bool)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2266(line=98, offs=1) -- 2499(line=112, offs=4)
*/
ATSINSflab(__patsflab_DivideConquer__base_test):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2306(line=99, offs=11) -- 2499(line=112, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2326(line=102, offs=10) -- 2352(line=102, offs=36)
*/
ATSINSmove(tmp40, PMVtmpltcst(MergeSort_array$cutoff<>)()) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2362(line=106, offs=1) -- 2492(line=110, offs=38)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2377(line=107, offs=3) -- 2392(line=107, offs=18)
*/
ATSINSlab(__atstmplab4):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2299(line=99, offs=4) -- 2302(line=99, offs=7)
*/
ATSifnthen(ATSCKpat_con1(arg0, 0)) { ATSINSgoto(__atstmplab7) ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2392(line=107, offs=18) -- 2392(line=107, offs=18)
*/
ATSINSlab(__atstmplab5):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2384(line=107, offs=10) -- 2385(line=107, offs=11)
*/
ATSINSmove(tmp41, ATSSELcon(arg0, postiats_tysum_0, atslab__0)) ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2401(line=108, offs=6) -- 2412(line=108, offs=17)
*/
ATSINSmove(tmp47, PMVtmpltcst(gte_g1int_int<S2Eextkind(atstype_int)>)(tmp41, tmp40)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2398(line=108, offs=3) -- 2433(line=108, offs=38)
*/
ATSif(
tmp47
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2418(line=108, offs=23) -- 2423(line=108, offs=28)
*/
ATSINSmove(tmpret39, ATSPMVbool_false()) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2429(line=108, offs=34) -- 2433(line=108, offs=38)
*/
ATSINSmove(tmpret39, ATSPMVbool_true()) ;
} /* ATSendif */
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2436(line=109, offs=3) -- 2451(line=109, offs=18)
*/
ATSINSlab(__atstmplab6):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2299(line=99, offs=4) -- 2302(line=99, offs=7)
*/
#if(0)
ATSifnthen(ATSCKpat_con1(arg0, 1)) { ATSINSdeadcode_fail() ; } ;
#endif
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2451(line=109, offs=18) -- 2451(line=109, offs=18)
*/
ATSINSlab(__atstmplab7):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2443(line=109, offs=10) -- 2444(line=109, offs=11)
*/
ATSINSmove(tmp44, ATSSELcon(arg0, postiats_tysum_0, atslab__0)) ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2460(line=110, offs=6) -- 2471(line=110, offs=17)
*/
ATSINSmove(tmp48, PMVtmpltcst(gte_g1int_int<S2Eextkind(atstype_int)>)(tmp44, tmp40)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2457(line=110, offs=3) -- 2492(line=110, offs=38)
*/
ATSif(
tmp48
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2477(line=110, offs=23) -- 2482(line=110, offs=28)
*/
ATSINSmove(tmpret39, ATSPMVbool_false()) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2488(line=110, offs=34) -- 2492(line=110, offs=38)
*/
ATSINSmove(tmpret39, ATSPMVbool_true()) ;
} /* ATSendif */
ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2306(line=99, offs=11) -- 2499(line=112, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret39) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__base_test__16] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2298(line=99, offs=3) -- 2499(line=112, offs=4)
*/
/*
local: 
global: DivideConquer$base_test$16$1(level=4)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__base_test__16__1(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret39__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp40__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp41__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp44__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp47__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp48__1, atstkind_t0ype(atstype_bool)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2266(line=98, offs=1) -- 2499(line=112, offs=4)
*/
ATSINSflab(__patsflab_DivideConquer__base_test):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2306(line=99, offs=11) -- 2499(line=112, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2326(line=102, offs=10) -- 2352(line=102, offs=36)
*/
ATSINSmove(tmp40__1, _057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_DATS_057_MergeSort_array_056_dats__MergeSort_array__cutoff__1__1()) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2362(line=106, offs=1) -- 2492(line=110, offs=38)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2377(line=107, offs=3) -- 2392(line=107, offs=18)
*/
ATSINSlab(__atstmplab4):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2299(line=99, offs=4) -- 2302(line=99, offs=7)
*/
ATSifnthen(ATSCKpat_con1(arg0, 0)) { ATSINSgoto(__atstmplab7) ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2392(line=107, offs=18) -- 2392(line=107, offs=18)
*/
ATSINSlab(__atstmplab5):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2384(line=107, offs=10) -- 2385(line=107, offs=11)
*/
ATSINSmove(tmp41__1, ATSSELcon(arg0, postiats_tysum_0, atslab__0)) ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2401(line=108, offs=6) -- 2412(line=108, offs=17)
*/
ATSINSmove(tmp47__1, ATSLIB_056_prelude__gte_g1int_int__19__1(tmp41__1, tmp40__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2398(line=108, offs=3) -- 2433(line=108, offs=38)
*/
ATSif(
tmp47__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2418(line=108, offs=23) -- 2423(line=108, offs=28)
*/
ATSINSmove(tmpret39__1, ATSPMVbool_false()) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2429(line=108, offs=34) -- 2433(line=108, offs=38)
*/
ATSINSmove(tmpret39__1, ATSPMVbool_true()) ;
} /* ATSendif */
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2436(line=109, offs=3) -- 2451(line=109, offs=18)
*/
ATSINSlab(__atstmplab6):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2299(line=99, offs=4) -- 2302(line=99, offs=7)
*/
#if(0)
ATSifnthen(ATSCKpat_con1(arg0, 1)) { ATSINSdeadcode_fail() ; } ;
#endif
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2451(line=109, offs=18) -- 2451(line=109, offs=18)
*/
ATSINSlab(__atstmplab7):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2443(line=109, offs=10) -- 2444(line=109, offs=11)
*/
ATSINSmove(tmp44__1, ATSSELcon(arg0, postiats_tysum_0, atslab__0)) ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2460(line=110, offs=6) -- 2471(line=110, offs=17)
*/
ATSINSmove(tmp48__1, ATSLIB_056_prelude__gte_g1int_int__19__2(tmp44__1, tmp40__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2457(line=110, offs=3) -- 2492(line=110, offs=38)
*/
ATSif(
tmp48__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2477(line=110, offs=23) -- 2482(line=110, offs=28)
*/
ATSINSmove(tmpret39__1, ATSPMVbool_false()) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2488(line=110, offs=34) -- 2492(line=110, offs=38)
*/
ATSINSmove(tmpret39__1, ATSPMVbool_true()) ;
} /* ATSendif */
ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2306(line=99, offs=11) -- 2499(line=112, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret39__1) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__base_test__16__1] */

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_int.dats: 596(line=43, offs=35) -- 602(line=43, offs=41)
*/
/*
local: 
global: MergeSort_array$cutoff$1$1(level=5)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_t0ype(atstype_int)
_057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_DATS_057_MergeSort_array_056_dats__MergeSort_array__cutoff__1__1()
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret1__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_int.dats: 562(line=43, offs=1) -- 602(line=43, offs=41)
*/
ATSINSflab(__patsflab_MergeSort_array__cutoff):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_int.dats: 601(line=43, offs=40) -- 602(line=43, offs=41)
*/
ATSINSmove(tmpret1__1, ATSPMVi0nt(5)) ;
ATSfunbody_end()
ATSreturn(tmpret1__1) ;
} /* end of [_057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_DATS_057_MergeSort_array_056_dats__MergeSort_array__cutoff__1__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 12491(line=648, offs=3) -- 12531(line=648, offs=43)
*/
/*
local: 
global: gte_g1int_int$19$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = tk(4648)
tmparg = S2Evar(tk(4648))
tmpsub = None()
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gte_g1int_int__19(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret56, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp57, atstkind_t0ype(atstyvar_type(tk))) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12475(line=647, offs=1) -- 12531(line=648, offs=43)
*/
ATSINSflab(__patsflab_gte_g1int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12518(line=648, offs=30) -- 12529(line=648, offs=41)
*/
ATSINSmove(tmp57, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4648))>)(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12500(line=648, offs=12) -- 12531(line=648, offs=43)
*/
ATSINSmove(tmpret56, PMVtmpltcst(g1int_gte<S2Evar(tk(4648))>)(arg0, tmp57)) ;

ATSfunbody_end()
ATSreturn(tmpret56) ;
} /* end of [ATSLIB_056_prelude__gte_g1int_int__19] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 12491(line=648, offs=3) -- 12531(line=648, offs=43)
*/
/*
local: 
global: gte_g1int_int$19$1(level=5)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4648)
tmparg = S2Evar(tk(4648))
tmpsub = Some(tk(4648) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gte_g1int_int__19__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret56__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp57__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12475(line=647, offs=1) -- 12531(line=648, offs=43)
*/
ATSINSflab(__patsflab_gte_g1int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12518(line=648, offs=30) -- 12529(line=648, offs=41)
*/
ATSINSmove(tmp57__1, atspre_g1int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12500(line=648, offs=12) -- 12531(line=648, offs=43)
*/
ATSINSmove(tmpret56__1, atspre_g1int_gte_int(arg0, tmp57__1)) ;

ATSfunbody_end()
ATSreturn(tmpret56__1) ;
} /* end of [ATSLIB_056_prelude__gte_g1int_int__19__1] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 12491(line=648, offs=3) -- 12531(line=648, offs=43)
*/
/*
local: 
global: gte_g1int_int$19$2(level=5)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4648)
tmparg = S2Evar(tk(4648))
tmpsub = Some(tk(4648) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gte_g1int_int__19__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret56__2, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp57__2, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12475(line=647, offs=1) -- 12531(line=648, offs=43)
*/
ATSINSflab(__patsflab_gte_g1int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12518(line=648, offs=30) -- 12529(line=648, offs=41)
*/
ATSINSmove(tmp57__2, atspre_g1int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12500(line=648, offs=12) -- 12531(line=648, offs=43)
*/
ATSINSmove(tmpret56__2, atspre_g1int_gte_int(arg0, tmp57__2)) ;

ATSfunbody_end()
ATSreturn(tmpret56__2) ;
} /* end of [ATSLIB_056_prelude__gte_g1int_int__19__2] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2605(line=118, offs=3) -- 3185(line=162, offs=4)
*/
/*
local: 
global: DivideConquer$base_solve$24$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__base_solve__24(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret62, atstype_boxed) ;
ATStmpdec(tmp68, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp69, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp71, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp72, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp73, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp74) ;
// ATStmpdec_void(tmp75) ;
// ATStmpdec_void(tmp76) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2572(line=117, offs=1) -- 3185(line=162, offs=4)
*/
ATSINSflab(__patsflab_DivideConquer__base_solve):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2613(line=118, offs=11) -- 3185(line=162, offs=4)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3073(line=158, offs=1) -- 3178(line=160, offs=54)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3088(line=159, offs=3) -- 3103(line=159, offs=18)
*/
ATSINSlab(__atstmplab8):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2606(line=118, offs=4) -- 2609(line=118, offs=7)
*/
ATSifnthen(ATSCKpat_con1(arg0, 0)) { ATSINSgoto(__atstmplab11) ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3103(line=159, offs=18) -- 3103(line=159, offs=18)
*/
ATSINSlab(__atstmplab9):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3095(line=159, offs=10) -- 3096(line=159, offs=11)
*/
ATSINSmove(tmp68, ATSSELcon(arg0, postiats_tysum_0, atslab__0)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3098(line=159, offs=13) -- 3099(line=159, offs=14)
*/
ATSINSmove(tmp69, ATSSELcon(arg0, postiats_tysum_0, atslab__1)) ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3108(line=159, offs=23) -- 3118(line=159, offs=33)
*/
ATSINSmove_void(tmp74, ATSfunclo_fun(PMVd2vfunlab(d2v=sort$7448(1), flab=sort_25$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)), atsvoid_t0ype)(tmp69, tmp68)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3120(line=159, offs=35) -- 3123(line=159, offs=38)
*/
ATSINSmove(tmpret62, arg0) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3127(line=160, offs=3) -- 3142(line=160, offs=18)
*/
ATSINSlab(__atstmplab10):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2606(line=118, offs=4) -- 2609(line=118, offs=7)
*/
#if(0)
ATSifnthen(ATSCKpat_con1(arg0, 1)) { ATSINSdeadcode_fail() ; } ;
#endif
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3142(line=160, offs=18) -- 3142(line=160, offs=18)
*/
ATSINSlab(__atstmplab11):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3134(line=160, offs=10) -- 3135(line=160, offs=11)
*/
ATSINSmove(tmp71, ATSSELcon(arg0, postiats_tysum_0, atslab__0)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3137(line=160, offs=13) -- 3138(line=160, offs=14)
*/
ATSINSmove(tmp72, ATSSELcon(arg0, postiats_tysum_0, atslab__1)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3140(line=160, offs=16) -- 3141(line=160, offs=17)
*/
ATSINSmove(tmp73, ATSSELcon(arg0, postiats_tysum_0, atslab__2)) ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3147(line=160, offs=23) -- 3157(line=160, offs=33)
*/
ATSINSmove_void(tmp75, ATSfunclo_fun(PMVd2vfunlab(d2v=sort$7448(1), flab=sort_25$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)), atsvoid_t0ype)(tmp72, tmp71)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3159(line=160, offs=35) -- 3172(line=160, offs=48)
*/
ATSINSmove_void(tmp76, ATSfunclo_fun(PMVd2vfunlab(d2v=copy$7453(1), flab=copy_27$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)), atsvoid_t0ype)(tmp72, tmp73, tmp71)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3174(line=160, offs=50) -- 3177(line=160, offs=53)
*/
ATSINSmove(tmpret62, arg0) ;
ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2613(line=118, offs=11) -- 3185(line=162, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret62) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__base_solve__24] */
#endif // end of [TEMPLATE]

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2624(line=121, offs=1) -- 2833(line=135, offs=4)
*/
/*
local: 
global: sort_25$0(level=1)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
sort_25__25(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret63) ;
ATStmpdec(tmp65, atstkind_t0ype(atstype_size)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2624(line=121, offs=1) -- 2833(line=135, offs=4)
*/
ATSINSflab(__patsflab_sort_25):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2667(line=124, offs=12) -- 2833(line=135, offs=4)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2818(line=133, offs=38) -- 2824(line=133, offs=44)
*/
ATSINSmove(tmp65, atspre_g1int2uint_int_size(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2757(line=132, offs=1) -- 2826(line=133, offs=46)
*/
ATSINSmove_void(tmpret63, PMVtmpltcst(arrayref_quicksort<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(ATSPMVcastfn(cast, atstkind_type(atstype_ptrk), arg0), tmp65)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2667(line=124, offs=12) -- 2833(line=135, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret63) ;
} /* end of [sort_25__25] */
#endif // end of [TEMPLATE]

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2711(line=128, offs=3) -- 2747(line=128, offs=39)
*/
/*
local: 
global: array_quicksort$cmp$26$0(level=2)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))
tmpsub = None()
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__array_quicksort__cmp__26(atsrefarg1_type(atstkind_t0ype(atstype_int)) arg0, atsrefarg1_type(atstkind_t0ype(atstype_int)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret64, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2684(line=127, offs=1) -- 2747(line=128, offs=39)
*/
ATSINSflab(__patsflab_array_quicksort__cmp):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2720(line=128, offs=12) -- 2747(line=128, offs=39)
*/
ATSINSmove(tmpret64, PMVtmpltcst(gcompare_ref_ref<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(ATSPMVrefarg1(arg0), ATSPMVrefarg1(arg1))) ;

ATSfunbody_end()
ATSreturn(tmpret64) ;
} /* end of [ATSLIB_056_prelude__array_quicksort__cmp__26] */
#endif // end of [TEMPLATE]

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2858(line=138, offs=1) -- 3043(line=154, offs=4)
*/
/*
local: 
global: copy_27$0(level=1)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
copy_27__27(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_t0ype(atstype_int) arg2)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret66) ;
ATStmpdec(tmp67, atstkind_t0ype(atstype_size)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2858(line=138, offs=1) -- 3043(line=154, offs=4)
*/
ATSINSflab(__patsflab_copy_27):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3005(line=151, offs=32) -- 3018(line=151, offs=45)
*/
ATSINSmove(tmp67, PMVtmpltcst(mul_int1_size1<>)(arg2, ATSPMVsizeof(atstkind_t0ype(atstype_int)))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2957(line=149, offs=1) -- 3020(line=152, offs=2)
*/
ATSINSmove_void(tmpret66, ATSextfcall(atspre_array_memcpy, (arg1, arg0, tmp67))) ;
ATSfunbody_end()
ATSreturn_void(tmpret66) ;
} /* end of [copy_27__27] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2605(line=118, offs=3) -- 3185(line=162, offs=4)
*/
/*
local: 
global: DivideConquer$base_solve$24$1(level=4)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__base_solve__24__1(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret62__1, atstype_boxed) ;
ATStmpdec(tmp68__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp69__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp71__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp72__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp73__1, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp74__1) ;
// ATStmpdec_void(tmp75__1) ;
// ATStmpdec_void(tmp76__1) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2572(line=117, offs=1) -- 3185(line=162, offs=4)
*/
ATSINSflab(__patsflab_DivideConquer__base_solve):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2613(line=118, offs=11) -- 3185(line=162, offs=4)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3073(line=158, offs=1) -- 3178(line=160, offs=54)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3088(line=159, offs=3) -- 3103(line=159, offs=18)
*/
ATSINSlab(__atstmplab8):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2606(line=118, offs=4) -- 2609(line=118, offs=7)
*/
ATSifnthen(ATSCKpat_con1(arg0, 0)) { ATSINSgoto(__atstmplab11) ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3103(line=159, offs=18) -- 3103(line=159, offs=18)
*/
ATSINSlab(__atstmplab9):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3095(line=159, offs=10) -- 3096(line=159, offs=11)
*/
ATSINSmove(tmp68__1, ATSSELcon(arg0, postiats_tysum_0, atslab__0)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3098(line=159, offs=13) -- 3099(line=159, offs=14)
*/
ATSINSmove(tmp69__1, ATSSELcon(arg0, postiats_tysum_0, atslab__1)) ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3108(line=159, offs=23) -- 3118(line=159, offs=33)
*/
ATSINSmove_void(tmp74__1, sort_25__25__1(tmp69__1, tmp68__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3120(line=159, offs=35) -- 3123(line=159, offs=38)
*/
ATSINSmove(tmpret62__1, arg0) ;
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3127(line=160, offs=3) -- 3142(line=160, offs=18)
*/
ATSINSlab(__atstmplab10):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2606(line=118, offs=4) -- 2609(line=118, offs=7)
*/
#if(0)
ATSifnthen(ATSCKpat_con1(arg0, 1)) { ATSINSdeadcode_fail() ; } ;
#endif
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3142(line=160, offs=18) -- 3142(line=160, offs=18)
*/
ATSINSlab(__atstmplab11):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3134(line=160, offs=10) -- 3135(line=160, offs=11)
*/
ATSINSmove(tmp71__1, ATSSELcon(arg0, postiats_tysum_0, atslab__0)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3137(line=160, offs=13) -- 3138(line=160, offs=14)
*/
ATSINSmove(tmp72__1, ATSSELcon(arg0, postiats_tysum_0, atslab__1)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3140(line=160, offs=16) -- 3141(line=160, offs=17)
*/
ATSINSmove(tmp73__1, ATSSELcon(arg0, postiats_tysum_0, atslab__2)) ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3147(line=160, offs=23) -- 3157(line=160, offs=33)
*/
ATSINSmove_void(tmp75__1, sort_25__25__1(tmp72__1, tmp71__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3159(line=160, offs=35) -- 3172(line=160, offs=48)
*/
ATSINSmove_void(tmp76__1, copy_27__27__1(tmp72__1, tmp73__1, tmp71__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3174(line=160, offs=50) -- 3177(line=160, offs=53)
*/
ATSINSmove(tmpret62__1, arg0) ;
ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2613(line=118, offs=11) -- 3185(line=162, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret62__1) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__base_solve__24__1] */

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2624(line=121, offs=1) -- 2833(line=135, offs=4)
*/
/*
local: 
global: sort_25$1(level=5)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
sort_25__25__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret63__1) ;
ATStmpdec(tmp65__1, atstkind_t0ype(atstype_size)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2624(line=121, offs=1) -- 2833(line=135, offs=4)
*/
ATSINSflab(__patsflab_sort_25):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2667(line=124, offs=12) -- 2833(line=135, offs=4)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2818(line=133, offs=38) -- 2824(line=133, offs=44)
*/
ATSINSmove(tmp65__1, atspre_g1int2uint_int_size(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2757(line=132, offs=1) -- 2826(line=133, offs=46)
*/
ATSINSmove_void(tmpret63__1, ATSLIB_056_prelude__arrayref_quicksort__30__1(ATSPMVcastfn(cast, atstkind_type(atstype_ptrk), arg0), tmp65__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2667(line=124, offs=12) -- 2833(line=135, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret63__1) ;
} /* end of [sort_25__25__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/arrayref.dats: 6897(line=340, offs=3) -- 7018(line=348, offs=4)
*/
/*
local: 
global: arrayref_quicksort$30$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = a(7864)
tmparg = S2Evar(a(7864))
tmpsub = None()
*/
atsvoid_t0ype
ATSLIB_056_prelude__arrayref_quicksort__30(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_size) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret88) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/arrayref.dats({$PATSPRE}/DATS/arrayref.dats): 6876(line=339, offs=1) -- 7018(line=348, offs=4)
*/
ATSINSflab(__patsflab_arrayref_quicksort):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/arrayref.dats({$PATSPRE}/DATS/arrayref.dats): 6908(line=340, offs=14) -- 7018(line=348, offs=4)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/arrayref.dats({$PATSPRE}/DATS/arrayref.dats): 6985(line=347, offs=16) -- 7013(line=347, offs=44)
*/
ATSINSmove_void(tmpret88, PMVtmpltcst(array_quicksort<S2Evar(a(7864))>)(ATSPMVrefarg1(ATSPMVcastfn(arrayref_get_viewptr, atstkind_type(atstype_ptrk), arg0)), arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/arrayref.dats({$PATSPRE}/DATS/arrayref.dats): 6908(line=340, offs=14) -- 7018(line=348, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret88) ;
} /* end of [ATSLIB_056_prelude__arrayref_quicksort__30] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/arrayref.dats: 6897(line=340, offs=3) -- 7018(line=348, offs=4)
*/
/*
local: 
global: arrayref_quicksort$30$1(level=6)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(7864)
tmparg = S2Evar(a(7864))
tmpsub = Some(a(7864) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atsvoid_t0ype
ATSLIB_056_prelude__arrayref_quicksort__30__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_size) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret88__1) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/arrayref.dats({$PATSPRE}/DATS/arrayref.dats): 6876(line=339, offs=1) -- 7018(line=348, offs=4)
*/
ATSINSflab(__patsflab_arrayref_quicksort):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/arrayref.dats({$PATSPRE}/DATS/arrayref.dats): 6908(line=340, offs=14) -- 7018(line=348, offs=4)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/arrayref.dats({$PATSPRE}/DATS/arrayref.dats): 6985(line=347, offs=16) -- 7013(line=347, offs=44)
*/
ATSINSmove_void(tmpret88__1, ATSLIB_056_prelude__array_quicksort__32__1(ATSPMVrefarg1(ATSPMVcastfn(arrayref_get_viewptr, atstkind_type(atstype_ptrk), arg0)), arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/arrayref.dats({$PATSPRE}/DATS/arrayref.dats): 6908(line=340, offs=14) -- 7018(line=348, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret88__1) ;
} /* end of [ATSLIB_056_prelude__arrayref_quicksort__30__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 1947(line=72, offs=3) -- 6158(line=319, offs=4)
*/
/*
local: 
global: array_quicksort$32$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = a(7645)
tmparg = S2Evar(a(7645))
tmpsub = None()
*/
atsvoid_t0ype
ATSLIB_056_prelude__array_quicksort__32(atsrefarg1_type(atstyarr_type(atstyvar_type(a))) arg0, atstkind_t0ype(atstype_size) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret90) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 1929(line=71, offs=1) -- 6158(line=319, offs=4)
*/
ATSINSflab(__patsflab_array_quicksort):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 1958(line=72, offs=14) -- 6158(line=319, offs=4)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 6115(line=317, offs=15) -- 6150(line=317, offs=50)
*/
ATSINSmove_void(tmpret90, ATSfunclo_fun(PMVd2vfunlab(d2v=auxqsort$3005(1), flab=auxqsort_42$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size), atstkind_t0ype(atstype_size)), atsvoid_t0ype)(arg0, arg1, ATSPMVsizeof(atstyvar_type(a)))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 1958(line=72, offs=14) -- 6158(line=319, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret90) ;
} /* end of [ATSLIB_056_prelude__array_quicksort__32] */
#endif // end of [TEMPLATE]

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2053(line=79, offs=5) -- 2353(line=102, offs=2)
*/
/*
local: 
global: ptrcmp_33$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
ptrcmp_33__33(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret91, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2053(line=79, offs=5) -- 2353(line=102, offs=2)
*/
ATSINSflab(__patsflab_ptrcmp_33):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2091(line=82, offs=11) -- 2353(line=102, offs=2)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/* (*nothing*) */
/* (*nothing*) */
/* (*nothing*) */
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2268(line=97, offs=11) -- 2301(line=97, offs=44)
*/
ATSINSmove(tmpret91, PMVtmpltcst(array_quicksort$cmp<S2Evar(a(7645))>)(ATSPMVrefarg1(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0))), ATSPMVrefarg1(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg1))))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2091(line=82, offs=11) -- 2353(line=102, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret91) ;
} /* end of [ptrcmp_33__33] */
#endif // end of [TEMPLATE]

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2853(line=134, offs=5) -- 3121(line=149, offs=4)
*/
/*
local: ptrcmp_33$0(level=1), auxins_34$0(level=1)
global: ptrcmp_33$0(level=1), auxins_34$0(level=1)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
auxins_34__34(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_t0ype(atstype_size) arg2)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy2, atstkind_t0ype(atstype_size)) ;
// ATStmpdec_void(tmpret92) ;
ATStmpdec(tmp93, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp94, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp95, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp96, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp97) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2853(line=134, offs=5) -- 3121(line=149, offs=4)
*/
ATSINSflab(__patsflab_auxins_34):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2917(line=140, offs=4) -- 2923(line=140, offs=10)
*/
ATSINSmove(tmp93, atspre_lt_ptr0_ptr0(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2914(line=140, offs=1) -- 3099(line=147, offs=12)
*/
ATSif(
tmp93
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2929(line=140, offs=16) -- 3091(line=147, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2944(line=141, offs=12) -- 2951(line=141, offs=19)
*/
ATSINSmove(tmp94, atspre_sub_ptr0_bsz(arg1, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2964(line=142, offs=13) -- 2978(line=142, offs=27)
*/
ATSINSmove(tmp95, ATSfunclo_fun(PMVd2vfunlab(d2v=ptrcmp$2948(1), flab=ptrcmp_33$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk)), atstkind_t0ype(atstype_int))(tmp94, arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2987(line=144, offs=6) -- 2994(line=144, offs=13)
*/
ATSINSmove(tmp96, PMVtmpltcst(gt_g0int_int<S2Eextkind(atstype_int)>)(tmp95, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2984(line=144, offs=3) -- 3072(line=146, offs=6)
*/
ATSif(
tmp96
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3000(line=144, offs=19) -- 3072(line=146, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3017(line=145, offs=14) -- 3042(line=145, offs=39)
*/
ATSINSmove_void(tmp97, PMVtmpltcst(ptr0_intch<S2Evar(a(7645))>)(tmp94, arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3046(line=145, offs=43) -- 3066(line=145, offs=63)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg0) ;
ATSINSmove_tlcal(apy1, tmp94) ;
ATSINSmove_tlcal(apy2, arg2) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSargmove_tlcal(arg2, apy2) ;
ATSINSfgoto(__patsflab_auxins_34) ;
ATStailcal_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3000(line=144, offs=19) -- 3072(line=146, offs=6)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3072(line=146, offs=6) -- 3072(line=146, offs=6)
*/
ATSINSmove_void(tmpret92, ATSPMVempty()) ;
} /* ATSendif */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2929(line=140, offs=16) -- 3091(line=147, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3097(line=147, offs=10) -- 3099(line=147, offs=12)
*/
ATSINSmove_void(tmpret92, ATSPMVempty()) ;
} /* ATSendif */
ATSfunbody_end()
ATSreturn_void(tmpret92) ;
} /* end of [auxins_34__34] */
#endif // end of [TEMPLATE]

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3185(line=153, offs=5) -- 3367(line=165, offs=4)
*/
/*
local: auxins_34$0(level=1), auxinss_35$0(level=1)
global: ptrcmp_33$0(level=1), auxins_34$0(level=1), auxinss_35$0(level=1)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
auxinss_35__35(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_type(atstype_ptrk) arg2, atstkind_t0ype(atstype_size) arg3)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy2, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy3, atstkind_t0ype(atstype_size)) ;
// ATStmpdec_void(tmpret98) ;
ATStmpdec(tmp99, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp100) ;
ATStmpdec(tmp101, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3185(line=153, offs=5) -- 3367(line=165, offs=4)
*/
ATSINSflab(__patsflab_auxinss_35):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3259(line=159, offs=4) -- 3265(line=159, offs=10)
*/
ATSINSmove(tmp99, atspre_lt_ptr0_ptr0(arg2, arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3256(line=159, offs=1) -- 3345(line=163, offs=4)
*/
ATSif(
tmp99
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3271(line=159, offs=16) -- 3345(line=163, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3286(line=160, offs=12) -- 3305(line=160, offs=31)
*/
ATSINSmove_void(tmp100, ATSfunclo_fun(PMVd2vfunlab(d2v=auxins$2960(1), flab=auxins_34$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size)), atsvoid_t0ype)(arg0, arg2, arg3)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3328(line=162, offs=20) -- 3335(line=162, offs=27)
*/
ATSINSmove(tmp101, atspre_add_ptr0_bsz(arg2, arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3311(line=162, offs=3) -- 3341(line=162, offs=33)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg0) ;
ATSINSmove_tlcal(apy1, arg1) ;
ATSINSmove_tlcal(apy2, tmp101) ;
ATSINSmove_tlcal(apy3, arg3) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSargmove_tlcal(arg2, apy2) ;
ATSINSargmove_tlcal(arg3, apy3) ;
ATSINSfgoto(__patsflab_auxinss_35) ;
ATStailcal_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3271(line=159, offs=16) -- 3345(line=163, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3345(line=163, offs=4) -- 3345(line=163, offs=4)
*/
ATSINSmove_void(tmpret98, ATSPMVempty()) ;
} /* ATSendif */
ATSfunbody_end()
ATSreturn_void(tmpret98) ;
} /* end of [auxinss_35__35] */
#endif // end of [TEMPLATE]

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3447(line=171, offs=5) -- 3657(line=184, offs=4)
*/
/*
local: auxinss_35$0(level=1)
global: ptrcmp_33$0(level=1), auxins_34$0(level=1), auxinss_35$0(level=1), auxinsort_36$0(level=1)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
auxinsort_36__36(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_size) arg1, atstkind_t0ype(atstype_size) arg2)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret102) ;
ATStmpdec(tmp103, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp104, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp105, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp106, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3447(line=171, offs=5) -- 3657(line=184, offs=4)
*/
ATSINSflab(__patsflab_auxinsort_36):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3506(line=174, offs=12) -- 3657(line=184, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3526(line=175, offs=17) -- 3535(line=175, offs=26)
*/
ATSINSmove(tmp104, PMVtmpltcst(g0uint_mul<S2Eextkind(atstype_size)>)(arg1, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3521(line=175, offs=12) -- 3535(line=175, offs=26)
*/
ATSINSmove(tmp103, atspre_add_ptr0_bsz(arg0, tmp104)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3545(line=178, offs=4) -- 3552(line=178, offs=11)
*/
ATSINSmove(tmp105, atspre_lt_ptr0_ptr0(arg0, tmp103)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3542(line=178, offs=1) -- 3635(line=182, offs=12)
*/
ATSif(
tmp105
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3558(line=178, offs=17) -- 3627(line=182, offs=4)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3590(line=179, offs=29) -- 3598(line=179, offs=37)
*/
ATSINSmove(tmp106, atspre_add_ptr0_bsz(arg0, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3573(line=179, offs=12) -- 3604(line=179, offs=43)
*/
ATSINSmove_void(tmpret102, ATSfunclo_fun(PMVd2vfunlab(d2v=auxinss$2966(1), flab=auxinss_35$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size)), atsvoid_t0ype)(arg0, tmp103, tmp106, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3558(line=178, offs=17) -- 3627(line=182, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3633(line=182, offs=10) -- 3635(line=182, offs=12)
*/
ATSINSmove_void(tmpret102, ATSPMVempty()) ;
} /* ATSendif */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3506(line=174, offs=12) -- 3657(line=184, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret102) ;
} /* end of [auxinsort_36__36] */
#endif // end of [TEMPLATE]

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3744(line=190, offs=5) -- 4051(line=204, offs=4)
*/
/*
local: ptrcmp_33$0(level=1)
global: ptrcmp_33$0(level=1), auxmid_37$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
auxmid_37__37(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_type(atstype_ptrk) arg2)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret107, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp108, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp109, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp110, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp111, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp112, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp113, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp114, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp115, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp116, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp117, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3744(line=190, offs=5) -- 4051(line=204, offs=4)
*/
ATSINSflab(__patsflab_auxmid_37):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3791(line=193, offs=11) -- 4051(line=204, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3809(line=194, offs=15) -- 3824(line=194, offs=30)
*/
ATSINSmove(tmp108, ATSfunclo_fun(PMVd2vfunlab(d2v=ptrcmp$2948(1), flab=ptrcmp_33$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk)), atstkind_t0ype(atstype_int))(arg0, arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3834(line=197, offs=4) -- 3844(line=197, offs=14)
*/
ATSINSmove(tmp109, PMVtmpltcst(lte_g0int_int<S2Eextkind(atstype_int)>)(tmp108, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3831(line=197, offs=1) -- 4032(line=203, offs=2)
*/
ATSif(
tmp109
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3857(line=198, offs=6) -- 3872(line=198, offs=21)
*/
ATSINSmove(tmp111, ATSfunclo_fun(PMVd2vfunlab(d2v=ptrcmp$2948(1), flab=ptrcmp_33$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk)), atstkind_t0ype(atstype_int))(arg1, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3857(line=198, offs=6) -- 3877(line=198, offs=26)
*/
ATSINSmove(tmp110, PMVtmpltcst(lte_g0int_int<S2Eextkind(atstype_int)>)(tmp111, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3854(line=198, offs=3) -- 3936(line=199, offs=59)
*/
ATSif(
tmp110
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3887(line=199, offs=10) -- 3889(line=199, offs=12)
*/
ATSINSmove(tmpret107, arg1) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3899(line=199, offs=22) -- 3914(line=199, offs=37)
*/
ATSINSmove(tmp113, ATSfunclo_fun(PMVd2vfunlab(d2v=ptrcmp$2948(1), flab=ptrcmp_33$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk)), atstkind_t0ype(atstype_int))(arg0, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3899(line=199, offs=22) -- 3919(line=199, offs=42)
*/
ATSINSmove(tmp112, PMVtmpltcst(lte_g0int_int<S2Eextkind(atstype_int)>)(tmp113, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3896(line=199, offs=19) -- 3935(line=199, offs=58)
*/
ATSif(
tmp112
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3925(line=199, offs=48) -- 3927(line=199, offs=50)
*/
ATSINSmove(tmpret107, arg2) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3933(line=199, offs=56) -- 3935(line=199, offs=58)
*/
ATSINSmove(tmpret107, arg0) ;
} /* ATSendif */
} /* ATSendif */
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3951(line=201, offs=6) -- 3966(line=201, offs=21)
*/
ATSINSmove(tmp115, ATSfunclo_fun(PMVd2vfunlab(d2v=ptrcmp$2948(1), flab=ptrcmp_33$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk)), atstkind_t0ype(atstype_int))(arg0, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3951(line=201, offs=6) -- 3971(line=201, offs=26)
*/
ATSINSmove(tmp114, PMVtmpltcst(lte_g0int_int<S2Eextkind(atstype_int)>)(tmp115, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3948(line=201, offs=3) -- 4030(line=202, offs=59)
*/
ATSif(
tmp114
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3981(line=202, offs=10) -- 3983(line=202, offs=12)
*/
ATSINSmove(tmpret107, arg0) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3993(line=202, offs=22) -- 4008(line=202, offs=37)
*/
ATSINSmove(tmp117, ATSfunclo_fun(PMVd2vfunlab(d2v=ptrcmp$2948(1), flab=ptrcmp_33$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk)), atstkind_t0ype(atstype_int))(arg1, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3993(line=202, offs=22) -- 4013(line=202, offs=42)
*/
ATSINSmove(tmp116, PMVtmpltcst(lte_g0int_int<S2Eextkind(atstype_int)>)(tmp117, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3990(line=202, offs=19) -- 4029(line=202, offs=58)
*/
ATSif(
tmp116
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4019(line=202, offs=48) -- 4021(line=202, offs=50)
*/
ATSINSmove(tmpret107, arg2) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4027(line=202, offs=56) -- 4029(line=202, offs=58)
*/
ATSINSmove(tmpret107, arg1) ;
} /* ATSendif */
} /* ATSendif */
} /* ATSendif */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3791(line=193, offs=11) -- 4051(line=204, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret107) ;
} /* end of [auxmid_37__37] */
#endif // end of [TEMPLATE]

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4110(line=208, offs=5) -- 4301(line=220, offs=4)
*/
/*
local: auxmid_37$0(level=1)
global: ptrcmp_33$0(level=1), auxmid_37$0(level=1), auxpivot_38$0(level=1)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
auxpivot_38__38(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_size) arg1, atstkind_t0ype(atstype_size) arg2)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret118) ;
ATStmpdec(tmp119, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp120, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp121, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp122, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp123, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp124, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp125, atstkind_t0ype(atstype_size)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4110(line=208, offs=5) -- 4301(line=220, offs=4)
*/
ATSINSflab(__patsflab_auxpivot_38):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4168(line=211, offs=12) -- 4301(line=220, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4204(line=215, offs=12) -- 4212(line=215, offs=20)
*/
ATSINSmove(tmp122, PMVtmpltcst(g0uint_half<S2Eextkind(atstype_size)>)(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4204(line=215, offs=12) -- 4219(line=215, offs=27)
*/
ATSINSmove(tmp121, PMVtmpltcst(g0uint_mul<S2Eextkind(atstype_size)>)(tmp122, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4199(line=215, offs=7) -- 4219(line=215, offs=27)
*/
ATSINSmove(tmp120, atspre_add_ptr0_bsz(arg0, tmp121)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4226(line=215, offs=34) -- 4234(line=215, offs=42)
*/
ATSINSmove(tmp125, PMVtmpltcst(g0uint_pred<S2Eextkind(atstype_size)>)(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4226(line=215, offs=34) -- 4241(line=215, offs=49)
*/
ATSINSmove(tmp124, PMVtmpltcst(g0uint_mul<S2Eextkind(atstype_size)>)(tmp125, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4221(line=215, offs=29) -- 4241(line=215, offs=49)
*/
ATSINSmove(tmp123, atspre_add_ptr0_bsz(arg0, tmp124)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4184(line=213, offs=10) -- 4243(line=216, offs=2)
*/
ATSINSmove(tmp119, ATSfunclo_fun(PMVd2vfunlab(d2v=auxmid$2976(1), flab=auxmid_37$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk)), atstkind_type(atstype_ptrk))(arg0, tmp120, tmp123)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4271(line=219, offs=3) -- 4297(line=219, offs=29)
*/
ATSINSmove_void(tmpret118, PMVtmpltcst(ptr0_intch<S2Evar(a(7645))>)(arg0, tmp119)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4168(line=211, offs=12) -- 4301(line=220, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret118) ;
} /* end of [auxpivot_38__38] */
#endif // end of [TEMPLATE]

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4459(line=229, offs=5) -- 4671(line=241, offs=2)
*/
/*
local: ptrcmp_33$0(level=1), auxsplit_l_39$0(level=1)
global: ptrcmp_33$0(level=1), auxsplit_l_39$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
auxsplit_l_39__39(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_type(atstype_ptrk) arg2, atstkind_t0ype(atstype_size) arg3)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy2, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy3, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmpret126, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp127, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp128, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp129, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp130, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4459(line=229, offs=5) -- 4671(line=241, offs=2)
*/
ATSINSflab(__patsflab_auxsplit_l_39):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4528(line=234, offs=4) -- 4536(line=234, offs=12)
*/
ATSINSmove(tmp127, atspre_lte_ptr0_ptr0(arg1, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4525(line=234, offs=1) -- 4654(line=240, offs=12)
*/
ATSif(
tmp127
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4542(line=234, offs=18) -- 4646(line=240, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4558(line=235, offs=13) -- 4573(line=235, offs=28)
*/
ATSINSmove(tmp128, ATSfunclo_fun(PMVd2vfunlab(d2v=ptrcmp$2948(1), flab=ptrcmp_33$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk)), atstkind_t0ype(atstype_int))(arg1, arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4583(line=238, offs=4) -- 4591(line=238, offs=12)
*/
ATSINSmove(tmp129, PMVtmpltcst(lte_g0int_int<S2Eextkind(atstype_int)>)(tmp128, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4580(line=238, offs=1) -- 4639(line=238, offs=60)
*/
ATSif(
tmp129
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4613(line=238, offs=34) -- 4621(line=238, offs=42)
*/
ATSINSmove(tmp130, atspre_add_ptr0_bsz(arg1, arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4597(line=238, offs=18) -- 4631(line=238, offs=52)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg0) ;
ATSINSmove_tlcal(apy1, tmp130) ;
ATSINSmove_tlcal(apy2, arg2) ;
ATSINSmove_tlcal(apy3, arg3) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSargmove_tlcal(arg2, apy2) ;
ATSINSargmove_tlcal(arg3, apy3) ;
ATSINSfgoto(__patsflab_auxsplit_l_39) ;
ATStailcal_end()

} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4637(line=238, offs=58) -- 4639(line=238, offs=60)
*/
ATSINSmove(tmpret126, arg1) ;
} /* ATSendif */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4542(line=234, offs=18) -- 4646(line=240, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4652(line=240, offs=10) -- 4654(line=240, offs=12)
*/
ATSINSmove(tmpret126, arg1) ;
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret126) ;
} /* end of [auxsplit_l_39__39] */
#endif // end of [TEMPLATE]

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4703(line=243, offs=5) -- 4915(line=255, offs=2)
*/
/*
local: ptrcmp_33$0(level=1), auxsplit_r_40$0(level=1)
global: ptrcmp_33$0(level=1), auxsplit_r_40$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
auxsplit_r_40__40(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_type(atstype_ptrk) arg2, atstkind_t0ype(atstype_size) arg3)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy2, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy3, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmpret131, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp132, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp133, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp134, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp135, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4703(line=243, offs=5) -- 4915(line=255, offs=2)
*/
ATSINSflab(__patsflab_auxsplit_r_40):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4772(line=248, offs=4) -- 4780(line=248, offs=12)
*/
ATSINSmove(tmp132, atspre_lte_ptr0_ptr0(arg1, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4769(line=248, offs=1) -- 4898(line=254, offs=12)
*/
ATSif(
tmp132
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4786(line=248, offs=18) -- 4890(line=254, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4802(line=249, offs=13) -- 4817(line=249, offs=28)
*/
ATSINSmove(tmp133, ATSfunclo_fun(PMVd2vfunlab(d2v=ptrcmp$2948(1), flab=ptrcmp_33$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk)), atstkind_t0ype(atstype_int))(arg0, arg2)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4827(line=252, offs=4) -- 4835(line=252, offs=12)
*/
ATSINSmove(tmp134, PMVtmpltcst(lte_g0int_int<S2Eextkind(atstype_int)>)(tmp133, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4824(line=252, offs=1) -- 4883(line=252, offs=60)
*/
ATSif(
tmp134
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4861(line=252, offs=38) -- 4869(line=252, offs=46)
*/
ATSINSmove(tmp135, atspre_sub_ptr0_bsz(arg2, arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4841(line=252, offs=18) -- 4875(line=252, offs=52)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg0) ;
ATSINSmove_tlcal(apy1, arg1) ;
ATSINSmove_tlcal(apy2, tmp135) ;
ATSINSmove_tlcal(apy3, arg3) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSargmove_tlcal(arg2, apy2) ;
ATSINSargmove_tlcal(arg3, apy3) ;
ATSINSfgoto(__patsflab_auxsplit_r_40) ;
ATStailcal_end()

} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4881(line=252, offs=58) -- 4883(line=252, offs=60)
*/
ATSINSmove(tmpret131, arg2) ;
} /* ATSendif */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4786(line=248, offs=18) -- 4890(line=254, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4896(line=254, offs=10) -- 4898(line=254, offs=12)
*/
ATSINSmove(tmpret131, arg2) ;
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret131) ;
} /* end of [auxsplit_r_40__40] */
#endif // end of [TEMPLATE]

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4947(line=257, offs=5) -- 5243(line=271, offs=4)
*/
/*
local: auxsplit_l_39$0(level=1), auxsplit_r_40$0(level=1), auxsplit_lr_41$0(level=1)
global: ptrcmp_33$0(level=1), auxsplit_l_39$0(level=1), auxsplit_r_40$0(level=1), auxsplit_lr_41$0(level=1)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
auxsplit_lr_41__41(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_type(atstype_ptrk) arg2, atstkind_t0ype(atstype_size) arg3)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy2, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy3, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmpret136, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp137, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp138, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp139, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp140) ;
ATStmpdec(tmp141, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp142, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4947(line=257, offs=5) -- 5243(line=271, offs=4)
*/
ATSINSflab(__patsflab_auxsplit_lr_41):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5012(line=260, offs=11) -- 5243(line=271, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5027(line=261, offs=12) -- 5055(line=261, offs=40)
*/
ATSINSmove(tmp137, ATSfunclo_fun(PMVd2vfunlab(d2v=auxsplit_l$2986(1), flab=auxsplit_l_39$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size)), atstkind_type(atstype_ptrk))(arg0, arg1, arg2, arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5067(line=262, offs=12) -- 5095(line=262, offs=40)
*/
ATSINSmove(tmp138, ATSfunclo_fun(PMVd2vfunlab(d2v=auxsplit_r$2992(1), flab=auxsplit_r_40$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size)), atstkind_type(atstype_ptrk))(arg0, tmp137, arg2, arg3)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5105(line=265, offs=4) -- 5112(line=265, offs=11)
*/
ATSINSmove(tmp139, atspre_lt_ptr0_ptr0(tmp137, tmp138)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5102(line=265, offs=1) -- 5218(line=269, offs=12)
*/
ATSif(
tmp139
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5118(line=265, offs=17) -- 5210(line=269, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5133(line=266, offs=12) -- 5159(line=266, offs=38)
*/
ATSINSmove_void(tmp140, PMVtmpltcst(ptr0_intch<S2Evar(a(7645))>)(tmp137, tmp138)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5182(line=268, offs=20) -- 5190(line=268, offs=28)
*/
ATSINSmove(tmp141, atspre_add_ptr0_bsz(tmp137, arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5192(line=268, offs=30) -- 5200(line=268, offs=38)
*/
ATSINSmove(tmp142, atspre_sub_ptr0_bsz(tmp138, arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5165(line=268, offs=3) -- 5206(line=268, offs=44)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg0) ;
ATSINSmove_tlcal(apy1, tmp141) ;
ATSINSmove_tlcal(apy2, tmp142) ;
ATSINSmove_tlcal(apy3, arg3) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSargmove_tlcal(arg2, apy2) ;
ATSINSargmove_tlcal(arg3, apy3) ;
ATSINSfgoto(__patsflab_auxsplit_lr_41) ;
ATStailcal_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5118(line=265, offs=17) -- 5210(line=269, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5216(line=269, offs=10) -- 5218(line=269, offs=12)
*/
ATSINSmove(tmpret136, tmp137) ;
} /* ATSendif */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5012(line=260, offs=11) -- 5243(line=271, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret136) ;
} /* end of [auxsplit_lr_41__41] */
#endif // end of [TEMPLATE]

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5363(line=281, offs=5) -- 6030(line=311, offs=4)
*/
/*
local: auxinsort_36$0(level=1), auxpivot_38$0(level=1), auxsplit_lr_41$0(level=1), auxqsort_42$0(level=1)
global: ptrcmp_33$0(level=1), auxins_34$0(level=1), auxinss_35$0(level=1), auxinsort_36$0(level=1), auxmid_37$0(level=1), auxpivot_38$0(level=1), auxsplit_l_39$0(level=1), auxsplit_r_40$0(level=1), auxsplit_lr_41$0(level=1), auxqsort_42$0(level=1)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
auxqsort_42__42(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_size) arg1, atstkind_t0ype(atstype_size) arg2)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy1, atstkind_t0ype(atstype_size)) ;
ATStmpdec(apy2, atstkind_t0ype(atstype_size)) ;
// ATStmpdec_void(tmpret143) ;
ATStmpdec(tmp144, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp145) ;
ATStmpdec(tmp146, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp147, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp148, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp149, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp150, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp151, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp152) ;
ATStmpdec(tmp153, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp154, atstkind_t0ype(atstype_ssize)) ;
ATStmpdec(tmp155, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp156, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp157, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp158) ;
// ATStmpdec_void(tmp159) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5363(line=281, offs=5) -- 6030(line=311, offs=4)
*/
ATSINSflab(__patsflab_auxqsort_42):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5434(line=287, offs=4) -- 5447(line=287, offs=17)
*/
ATSINSmove(tmp144, PMVtmpltcst(gte_g0uint_int<S2Eextkind(atstype_size)>)(arg1, ATSPMVintrep(12))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5431(line=287, offs=1) -- 6008(line=308, offs=27)
*/
ATSif(
tmp144
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5453(line=287, offs=23) -- 5976(line=307, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5468(line=288, offs=12) -- 5491(line=288, offs=35)
*/
ATSINSmove_void(tmp145, ATSfunclo_fun(PMVd2vfunlab(d2v=auxpivot$2981(1), flab=auxpivot_38$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size), atstkind_t0ype(atstype_size)), atsvoid_t0ype)(arg0, arg1, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5508(line=289, offs=17) -- 5517(line=289, offs=26)
*/
ATSINSmove(tmp147, PMVtmpltcst(g0uint_mul<S2Eextkind(atstype_size)>)(arg1, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5503(line=289, offs=12) -- 5517(line=289, offs=26)
*/
ATSINSmove(tmp146, atspre_add_ptr0_bsz(arg0, tmp147)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5546(line=290, offs=29) -- 5554(line=290, offs=37)
*/
ATSINSmove(tmp149, atspre_add_ptr0_bsz(arg0, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5556(line=290, offs=39) -- 5564(line=290, offs=47)
*/
ATSINSmove(tmp150, atspre_sub_ptr0_bsz(tmp146, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5529(line=290, offs=12) -- 5570(line=290, offs=53)
*/
ATSINSmove(tmp148, ATSfunclo_fun(PMVd2vfunlab(d2v=auxsplit_lr$2998(1), flab=auxsplit_lr_41$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size)), atstkind_type(atstype_ptrk))(arg0, tmp149, tmp150, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5583(line=291, offs=13) -- 5591(line=291, offs=21)
*/
ATSINSmove(tmp151, atspre_sub_ptr0_bsz(tmp148, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5603(line=292, offs=12) -- 5630(line=292, offs=39)
*/
ATSINSmove_void(tmp152, PMVtmpltcst(ptr0_intch<S2Evar(a(7645))>)(arg0, tmp151)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5659(line=293, offs=29) -- 5665(line=293, offs=35)
*/
ATSINSmove(tmp154, atspre_sub_ptr0_ptr0(tmp151, arg0)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5645(line=293, offs=15) -- 5672(line=293, offs=42)
*/
ATSINSmove(tmp153, PMVtmpltcst(g0uint_div<S2Eextkind(atstype_size)>)(ATSPMVcastfn(cast2size, atstkind_t0ype(atstype_size), tmp154), arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5693(line=294, offs=21) -- 5704(line=294, offs=32)
*/
ATSINSmove(tmp156, PMVtmpltcst(g0uint_sub<S2Eextkind(atstype_size)>)(arg1, tmp153)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5687(line=294, offs=15) -- 5705(line=294, offs=33)
*/
ATSINSmove(tmp155, PMVtmpltcst(g0uint_pred<S2Eextkind(atstype_size)>)(tmp156)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5714(line=296, offs=6) -- 5728(line=296, offs=20)
*/
ATSINSmove(tmp157, PMVtmpltcst(g0uint_lte<S2Eextkind(atstype_size)>)(tmp153, tmp155)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5711(line=296, offs=3) -- 5954(line=306, offs=6)
*/
ATSif(
tmp157
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5734(line=296, offs=26) -- 5841(line=301, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5751(line=297, offs=14) -- 5776(line=297, offs=39)
*/
ATSINSmove_void(tmp158, ATSfunclo_fun(PMVd2vfunlab(d2v=auxqsort$3005(1), flab=auxqsort_42$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size), atstkind_t0ype(atstype_size)), atsvoid_t0ype)(arg0, tmp153, arg2)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5790(line=298, offs=14) -- 5815(line=298, offs=39)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, tmp148) ;
ATSINSmove_tlcal(apy1, tmp155) ;
ATSINSmove_tlcal(apy2, arg2) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSargmove_tlcal(arg2, apy2) ;
ATSINSfgoto(__patsflab_auxqsort_42) ;
ATStailcal_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5734(line=296, offs=26) -- 5841(line=301, offs=6)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5847(line=301, offs=12) -- 5954(line=306, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5864(line=302, offs=14) -- 5889(line=302, offs=39)
*/
ATSINSmove_void(tmp159, ATSfunclo_fun(PMVd2vfunlab(d2v=auxqsort$3005(1), flab=auxqsort_42$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size), atstkind_t0ype(atstype_size)), atsvoid_t0ype)(tmp148, tmp155, arg2)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5903(line=303, offs=14) -- 5928(line=303, offs=39)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg0) ;
ATSINSmove_tlcal(apy1, tmp153) ;
ATSINSmove_tlcal(apy2, arg2) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSargmove_tlcal(arg2, apy2) ;
ATSINSfgoto(__patsflab_auxqsort_42) ;
ATStailcal_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5847(line=301, offs=12) -- 5954(line=306, offs=6)
*/
/*
INSletpop()
*/
} /* ATSendif */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5453(line=287, offs=23) -- 5976(line=307, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5984(line=308, offs=3) -- 6008(line=308, offs=27)
*/
ATSINSmove_void(tmpret143, ATSfunclo_fun(PMVd2vfunlab(d2v=auxinsort$2971(1), flab=auxinsort_36$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_size), atstkind_t0ype(atstype_size)), atsvoid_t0ype)(arg0, arg1, arg2)) ;

} /* ATSendif */
ATSfunbody_end()
ATSreturn_void(tmpret143) ;
} /* end of [auxqsort_42__42] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 1947(line=72, offs=3) -- 6158(line=319, offs=4)
*/
/*
local: 
global: array_quicksort$32$1(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(7645)
tmparg = S2Evar(a(7645))
tmpsub = Some(a(7645) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atsvoid_t0ype
ATSLIB_056_prelude__array_quicksort__32__1(atsrefarg1_type(atstyarr_type(atstkind_t0ype(atstype_int))) arg0, atstkind_t0ype(atstype_size) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret90__1) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 1929(line=71, offs=1) -- 6158(line=319, offs=4)
*/
ATSINSflab(__patsflab_array_quicksort):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 1958(line=72, offs=14) -- 6158(line=319, offs=4)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 6115(line=317, offs=15) -- 6150(line=317, offs=50)
*/
ATSINSmove_void(tmpret90__1, auxqsort_42__42__1(arg0, arg1, ATSPMVsizeof(atstkind_t0ype(atstype_int)))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 1958(line=72, offs=14) -- 6158(line=319, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret90__1) ;
} /* end of [ATSLIB_056_prelude__array_quicksort__32__1] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2053(line=79, offs=5) -- 2353(line=102, offs=2)
*/
/*
local: 
global: ptrcmp_33$1(level=8)
local: 
global: 
*/
ATSstatic()
atstkind_t0ype(atstype_int)
ptrcmp_33__33__1(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret91__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2053(line=79, offs=5) -- 2353(line=102, offs=2)
*/
ATSINSflab(__patsflab_ptrcmp_33):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2091(line=82, offs=11) -- 2353(line=102, offs=2)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/* (*nothing*) */
/* (*nothing*) */
/* (*nothing*) */
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2268(line=97, offs=11) -- 2301(line=97, offs=44)
*/
ATSINSmove(tmpret91__1, ATSLIB_056_prelude__array_quicksort__cmp__26__1(ATSPMVrefarg1(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0))), ATSPMVrefarg1(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg1))))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2091(line=82, offs=11) -- 2353(line=102, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret91__1) ;
} /* end of [ptrcmp_33__33__1] */

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2711(line=128, offs=3) -- 2747(line=128, offs=39)
*/
/*
local: 
global: array_quicksort$cmp$26$1(level=9)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))
tmpsub = Some()
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__array_quicksort__cmp__26__1(atsrefarg1_type(atstkind_t0ype(atstype_int)) arg0, atsrefarg1_type(atstkind_t0ype(atstype_int)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret64__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2684(line=127, offs=1) -- 2747(line=128, offs=39)
*/
ATSINSflab(__patsflab_array_quicksort__cmp):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2720(line=128, offs=12) -- 2747(line=128, offs=39)
*/
ATSINSmove(tmpret64__1, ATSLIB_056_prelude__gcompare_ref_ref__46__1(ATSPMVrefarg1(arg0), ATSPMVrefarg1(arg1))) ;

ATSfunbody_end()
ATSreturn(tmpret64__1) ;
} /* end of [ATSLIB_056_prelude__array_quicksort__cmp__26__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/gorder.dats: 3538(line=162, offs=3) -- 3573(line=162, offs=38)
*/
/*
local: 
global: gcompare_ref_ref$46$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = a(5692)
tmparg = S2Evar(a(5692))
tmpsub = None()
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__gcompare_ref_ref__46(atsrefarg1_type(atstyvar_type(a)) arg0, atsrefarg1_type(atstyvar_type(a)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret163, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/gorder.dats({$PATSPRE}/DATS/gorder.dats): 3516(line=161, offs=1) -- 3573(line=162, offs=38)
*/
ATSINSflab(__patsflab_gcompare_ref_ref):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/gorder.dats({$PATSPRE}/DATS/gorder.dats): 3547(line=162, offs=12) -- 3573(line=162, offs=38)
*/
ATSINSmove(tmpret163, PMVtmpltcst(gcompare_val_val<S2Evar(a(5692))>)(ATSderef(arg0, atstyvar_type(a)), ATSderef(arg1, atstyvar_type(a)))) ;

ATSfunbody_end()
ATSreturn(tmpret163) ;
} /* end of [ATSLIB_056_prelude__gcompare_ref_ref__46] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/gorder.dats: 3538(line=162, offs=3) -- 3573(line=162, offs=38)
*/
/*
local: 
global: gcompare_ref_ref$46$1(level=10)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5692)
tmparg = S2Evar(a(5692))
tmpsub = Some(a(5692) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__gcompare_ref_ref__46__1(atsrefarg1_type(atstkind_t0ype(atstype_int)) arg0, atsrefarg1_type(atstkind_t0ype(atstype_int)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret163__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/gorder.dats({$PATSPRE}/DATS/gorder.dats): 3516(line=161, offs=1) -- 3573(line=162, offs=38)
*/
ATSINSflab(__patsflab_gcompare_ref_ref):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/gorder.dats({$PATSPRE}/DATS/gorder.dats): 3547(line=162, offs=12) -- 3573(line=162, offs=38)
*/
ATSINSmove(tmpret163__1, ATSLIB_056_prelude__gcompare_val_val__0__1(ATSderef(arg0, atstkind_t0ype(atstype_int)), ATSderef(arg1, atstkind_t0ype(atstype_int)))) ;

ATSfunbody_end()
ATSreturn(tmpret163__1) ;
} /* end of [ATSLIB_056_prelude__gcompare_ref_ref__46__1] */

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_int.dats: 526(line=40, offs=3) -- 548(line=40, offs=25)
*/
/*
local: 
global: gcompare_val_val$0$1(level=11)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))
tmpsub = Some()
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__gcompare_val_val__0__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret0__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_int.dats: 502(line=39, offs=1) -- 548(line=40, offs=25)
*/
ATSINSflab(__patsflab_gcompare_val_val):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_int.dats: 535(line=40, offs=12) -- 548(line=40, offs=25)
*/
ATSINSmove(tmpret0__1, ATSLIB_056_prelude__compare_g0int_int__49__1(arg0, arg1)) ;

ATSfunbody_end()
ATSreturn(tmpret0__1) ;
} /* end of [ATSLIB_056_prelude__gcompare_val_val__0__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 12149(line=628, offs=3) -- 12192(line=628, offs=46)
*/
/*
local: 
global: compare_g0int_int$49$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = tk(4638)
tmparg = S2Evar(tk(4638))
tmpsub = None()
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__compare_g0int_int__49(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret166, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp167, atstkind_t0ype(atstyvar_type(tk))) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12129(line=627, offs=1) -- 12192(line=628, offs=46)
*/
ATSINSflab(__patsflab_compare_g0int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12179(line=628, offs=33) -- 12190(line=628, offs=44)
*/
ATSINSmove(tmp167, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4638))>)(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12158(line=628, offs=12) -- 12192(line=628, offs=46)
*/
ATSINSmove(tmpret166, PMVtmpltcst(g0int_compare<S2Evar(tk(4638))>)(arg0, tmp167)) ;

ATSfunbody_end()
ATSreturn(tmpret166) ;
} /* end of [ATSLIB_056_prelude__compare_g0int_int__49] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 12149(line=628, offs=3) -- 12192(line=628, offs=46)
*/
/*
local: 
global: compare_g0int_int$49$1(level=12)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4638)
tmparg = S2Evar(tk(4638))
tmpsub = Some(tk(4638) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__compare_g0int_int__49__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret166__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp167__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12129(line=627, offs=1) -- 12192(line=628, offs=46)
*/
ATSINSflab(__patsflab_compare_g0int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12179(line=628, offs=33) -- 12190(line=628, offs=44)
*/
ATSINSmove(tmp167__1, atspre_g0int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12158(line=628, offs=12) -- 12192(line=628, offs=46)
*/
ATSINSmove(tmpret166__1, atspre_g0int_compare_int(arg0, tmp167__1)) ;

ATSfunbody_end()
ATSreturn(tmpret166__1) ;
} /* end of [ATSLIB_056_prelude__compare_g0int_int__49__1] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2853(line=134, offs=5) -- 3121(line=149, offs=4)
*/
/*
local: ptrcmp_33$1(level=8), auxins_34$1(level=8)
global: ptrcmp_33$1(level=8), auxins_34$1(level=8)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
auxins_34__34__1(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_t0ype(atstype_size) arg2)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy2, atstkind_t0ype(atstype_size)) ;
// ATStmpdec_void(tmpret92__1) ;
ATStmpdec(tmp93__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp94__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp95__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp96__1, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp97__1) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2853(line=134, offs=5) -- 3121(line=149, offs=4)
*/
ATSINSflab(__patsflab_auxins_34):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2917(line=140, offs=4) -- 2923(line=140, offs=10)
*/
ATSINSmove(tmp93__1, atspre_lt_ptr0_ptr0(arg0, arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2914(line=140, offs=1) -- 3099(line=147, offs=12)
*/
ATSif(
tmp93__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2929(line=140, offs=16) -- 3091(line=147, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2944(line=141, offs=12) -- 2951(line=141, offs=19)
*/
ATSINSmove(tmp94__1, atspre_sub_ptr0_bsz(arg1, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2964(line=142, offs=13) -- 2978(line=142, offs=27)
*/
ATSINSmove(tmp95__1, ptrcmp_33__33__1(tmp94__1, arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2987(line=144, offs=6) -- 2994(line=144, offs=13)
*/
ATSINSmove(tmp96__1, ATSLIB_056_prelude__gt_g0int_int__54__1(tmp95__1, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2984(line=144, offs=3) -- 3072(line=146, offs=6)
*/
ATSif(
tmp96__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3000(line=144, offs=19) -- 3072(line=146, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3017(line=145, offs=14) -- 3042(line=145, offs=39)
*/
ATSINSmove_void(tmp97__1, ATSLIB_056_prelude_056_unsafe__ptr0_intch__57__1(tmp94__1, arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3046(line=145, offs=43) -- 3066(line=145, offs=63)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg0) ;
ATSINSmove_tlcal(apy1, tmp94__1) ;
ATSINSmove_tlcal(apy2, arg2) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSargmove_tlcal(arg2, apy2) ;
ATSINSfgoto(__patsflab_auxins_34) ;
ATStailcal_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3000(line=144, offs=19) -- 3072(line=146, offs=6)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3072(line=146, offs=6) -- 3072(line=146, offs=6)
*/
ATSINSmove_void(tmpret92__1, ATSPMVempty()) ;
} /* ATSendif */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 2929(line=140, offs=16) -- 3091(line=147, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3097(line=147, offs=10) -- 3099(line=147, offs=12)
*/
ATSINSmove_void(tmpret92__1, ATSPMVempty()) ;
} /* ATSendif */
ATSfunbody_end()
ATSreturn_void(tmpret92__1) ;
} /* end of [auxins_34__34__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 11834(line=611, offs=3) -- 11873(line=611, offs=42)
*/
/*
local: 
global: gt_g0int_int$54$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = tk(4634)
tmparg = S2Evar(tk(4634))
tmpsub = None()
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gt_g0int_int__54(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret176, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp177, atstkind_t0ype(atstyvar_type(tk))) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11819(line=610, offs=1) -- 11873(line=611, offs=42)
*/
ATSINSflab(__patsflab_gt_g0int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11860(line=611, offs=29) -- 11871(line=611, offs=40)
*/
ATSINSmove(tmp177, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4634))>)(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11843(line=611, offs=12) -- 11873(line=611, offs=42)
*/
ATSINSmove(tmpret176, PMVtmpltcst(g0int_gt<S2Evar(tk(4634))>)(arg0, tmp177)) ;

ATSfunbody_end()
ATSreturn(tmpret176) ;
} /* end of [ATSLIB_056_prelude__gt_g0int_int__54] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 11834(line=611, offs=3) -- 11873(line=611, offs=42)
*/
/*
local: 
global: gt_g0int_int$54$1(level=9)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4634)
tmparg = S2Evar(tk(4634))
tmpsub = Some(tk(4634) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gt_g0int_int__54__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret176__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp177__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11819(line=610, offs=1) -- 11873(line=611, offs=42)
*/
ATSINSflab(__patsflab_gt_g0int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11860(line=611, offs=29) -- 11871(line=611, offs=40)
*/
ATSINSmove(tmp177__1, atspre_g0int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11843(line=611, offs=12) -- 11873(line=611, offs=42)
*/
ATSINSmove(tmpret176__1, atspre_g0int_gt_int(arg0, tmp177__1)) ;

ATSfunbody_end()
ATSreturn(tmpret176__1) ;
} /* end of [ATSLIB_056_prelude__gt_g0int_int__54__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2705(line=110, offs=3) -- 2974(line=120, offs=2)
*/
/*
local: 
global: ptr0_intch$57$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = a(5730)
tmparg = S2Evar(a(5730))
tmpsub = None()
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_intch__57(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret180) ;
ATStmpdec(tmp181, atstyvar_type(a)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2692(line=109, offs=1) -- 2974(line=120, offs=2)
*/
ATSINSflab(__patsflab_ptr0_intch):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2716(line=110, offs=14) -- 2974(line=120, offs=2)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/* (*nothing*) */
/* (*nothing*) */
/* (*nothing*) */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2875(line=115, offs=13) -- 2878(line=115, offs=16)
*/
ATSINSmove(tmp181, ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0)), atstyvar_type(a))) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2891(line=116, offs=13) -- 2901(line=116, offs=23)
*/
ATSINSstore(ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0)), atstyvar_type(a)), ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg1)), atstyvar_type(a))) ;
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2914(line=117, offs=13) -- 2924(line=117, offs=23)
*/
ATSINSstore(ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg1)), atstyvar_type(a)), tmp181) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2914(line=117, offs=13) -- 2924(line=117, offs=23)
*/
ATSINSmove_void(tmpret180, ATSPMVempty()) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2716(line=110, offs=14) -- 2974(line=120, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret180) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_intch__57] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2705(line=110, offs=3) -- 2974(line=120, offs=2)
*/
/*
local: 
global: ptr0_intch$57$1(level=9)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5730)
tmparg = S2Evar(a(5730))
tmpsub = Some(a(5730) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_intch__57__1(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret180__1) ;
ATStmpdec(tmp181__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2692(line=109, offs=1) -- 2974(line=120, offs=2)
*/
ATSINSflab(__patsflab_ptr0_intch):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2716(line=110, offs=14) -- 2974(line=120, offs=2)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/* (*nothing*) */
/* (*nothing*) */
/* (*nothing*) */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2875(line=115, offs=13) -- 2878(line=115, offs=16)
*/
ATSINSmove(tmp181__1, ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0)), atstkind_t0ype(atstype_int))) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2891(line=116, offs=13) -- 2901(line=116, offs=23)
*/
ATSINSstore(ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0)), atstkind_t0ype(atstype_int)), ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg1)), atstkind_t0ype(atstype_int))) ;
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2914(line=117, offs=13) -- 2924(line=117, offs=23)
*/
ATSINSstore(ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg1)), atstkind_t0ype(atstype_int)), tmp181__1) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2914(line=117, offs=13) -- 2924(line=117, offs=23)
*/
ATSINSmove_void(tmpret180__1, ATSPMVempty()) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2716(line=110, offs=14) -- 2974(line=120, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret180__1) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_intch__57__1] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3185(line=153, offs=5) -- 3367(line=165, offs=4)
*/
/*
local: auxins_34$1(level=8), auxinss_35$1(level=8)
global: ptrcmp_33$1(level=8), auxins_34$1(level=8), auxinss_35$1(level=8)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
auxinss_35__35__1(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_type(atstype_ptrk) arg2, atstkind_t0ype(atstype_size) arg3)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy2, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy3, atstkind_t0ype(atstype_size)) ;
// ATStmpdec_void(tmpret98__1) ;
ATStmpdec(tmp99__1, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp100__1) ;
ATStmpdec(tmp101__1, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3185(line=153, offs=5) -- 3367(line=165, offs=4)
*/
ATSINSflab(__patsflab_auxinss_35):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3259(line=159, offs=4) -- 3265(line=159, offs=10)
*/
ATSINSmove(tmp99__1, atspre_lt_ptr0_ptr0(arg2, arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3256(line=159, offs=1) -- 3345(line=163, offs=4)
*/
ATSif(
tmp99__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3271(line=159, offs=16) -- 3345(line=163, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3286(line=160, offs=12) -- 3305(line=160, offs=31)
*/
ATSINSmove_void(tmp100__1, auxins_34__34__1(arg0, arg2, arg3)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3328(line=162, offs=20) -- 3335(line=162, offs=27)
*/
ATSINSmove(tmp101__1, atspre_add_ptr0_bsz(arg2, arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3311(line=162, offs=3) -- 3341(line=162, offs=33)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg0) ;
ATSINSmove_tlcal(apy1, arg1) ;
ATSINSmove_tlcal(apy2, tmp101__1) ;
ATSINSmove_tlcal(apy3, arg3) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSargmove_tlcal(arg2, apy2) ;
ATSINSargmove_tlcal(arg3, apy3) ;
ATSINSfgoto(__patsflab_auxinss_35) ;
ATStailcal_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3271(line=159, offs=16) -- 3345(line=163, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3345(line=163, offs=4) -- 3345(line=163, offs=4)
*/
ATSINSmove_void(tmpret98__1, ATSPMVempty()) ;
} /* ATSendif */
ATSfunbody_end()
ATSreturn_void(tmpret98__1) ;
} /* end of [auxinss_35__35__1] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3447(line=171, offs=5) -- 3657(line=184, offs=4)
*/
/*
local: auxinss_35$1(level=8)
global: ptrcmp_33$1(level=8), auxins_34$1(level=8), auxinss_35$1(level=8), auxinsort_36$1(level=8)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
auxinsort_36__36__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_size) arg1, atstkind_t0ype(atstype_size) arg2)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret102__1) ;
ATStmpdec(tmp103__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp104__1, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp105__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp106__1, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3447(line=171, offs=5) -- 3657(line=184, offs=4)
*/
ATSINSflab(__patsflab_auxinsort_36):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3506(line=174, offs=12) -- 3657(line=184, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3526(line=175, offs=17) -- 3535(line=175, offs=26)
*/
ATSINSmove(tmp104__1, atspre_g0uint_mul_size(arg1, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3521(line=175, offs=12) -- 3535(line=175, offs=26)
*/
ATSINSmove(tmp103__1, atspre_add_ptr0_bsz(arg0, tmp104__1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3545(line=178, offs=4) -- 3552(line=178, offs=11)
*/
ATSINSmove(tmp105__1, atspre_lt_ptr0_ptr0(arg0, tmp103__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3542(line=178, offs=1) -- 3635(line=182, offs=12)
*/
ATSif(
tmp105__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3558(line=178, offs=17) -- 3627(line=182, offs=4)
*/
/*
letpush(beg)
*/
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3590(line=179, offs=29) -- 3598(line=179, offs=37)
*/
ATSINSmove(tmp106__1, atspre_add_ptr0_bsz(arg0, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3573(line=179, offs=12) -- 3604(line=179, offs=43)
*/
ATSINSmove_void(tmpret102__1, auxinss_35__35__1(arg0, tmp103__1, tmp106__1, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3558(line=178, offs=17) -- 3627(line=182, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3633(line=182, offs=10) -- 3635(line=182, offs=12)
*/
ATSINSmove_void(tmpret102__1, ATSPMVempty()) ;
} /* ATSendif */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3506(line=174, offs=12) -- 3657(line=184, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret102__1) ;
} /* end of [auxinsort_36__36__1] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3744(line=190, offs=5) -- 4051(line=204, offs=4)
*/
/*
local: ptrcmp_33$1(level=8)
global: ptrcmp_33$1(level=8), auxmid_37$1(level=8)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
auxmid_37__37__1(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_type(atstype_ptrk) arg2)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret107__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp108__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp109__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp110__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp111__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp112__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp113__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp114__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp115__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp116__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp117__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3744(line=190, offs=5) -- 4051(line=204, offs=4)
*/
ATSINSflab(__patsflab_auxmid_37):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3791(line=193, offs=11) -- 4051(line=204, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3809(line=194, offs=15) -- 3824(line=194, offs=30)
*/
ATSINSmove(tmp108__1, ptrcmp_33__33__1(arg0, arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3834(line=197, offs=4) -- 3844(line=197, offs=14)
*/
ATSINSmove(tmp109__1, ATSLIB_056_prelude__lte_g0int_int__63__1(tmp108__1, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3831(line=197, offs=1) -- 4032(line=203, offs=2)
*/
ATSif(
tmp109__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3857(line=198, offs=6) -- 3872(line=198, offs=21)
*/
ATSINSmove(tmp111__1, ptrcmp_33__33__1(arg1, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3857(line=198, offs=6) -- 3877(line=198, offs=26)
*/
ATSINSmove(tmp110__1, ATSLIB_056_prelude__lte_g0int_int__63__2(tmp111__1, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3854(line=198, offs=3) -- 3936(line=199, offs=59)
*/
ATSif(
tmp110__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3887(line=199, offs=10) -- 3889(line=199, offs=12)
*/
ATSINSmove(tmpret107__1, arg1) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3899(line=199, offs=22) -- 3914(line=199, offs=37)
*/
ATSINSmove(tmp113__1, ptrcmp_33__33__1(arg0, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3899(line=199, offs=22) -- 3919(line=199, offs=42)
*/
ATSINSmove(tmp112__1, ATSLIB_056_prelude__lte_g0int_int__63__3(tmp113__1, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3896(line=199, offs=19) -- 3935(line=199, offs=58)
*/
ATSif(
tmp112__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3925(line=199, offs=48) -- 3927(line=199, offs=50)
*/
ATSINSmove(tmpret107__1, arg2) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3933(line=199, offs=56) -- 3935(line=199, offs=58)
*/
ATSINSmove(tmpret107__1, arg0) ;
} /* ATSendif */
} /* ATSendif */
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3951(line=201, offs=6) -- 3966(line=201, offs=21)
*/
ATSINSmove(tmp115__1, ptrcmp_33__33__1(arg0, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3951(line=201, offs=6) -- 3971(line=201, offs=26)
*/
ATSINSmove(tmp114__1, ATSLIB_056_prelude__lte_g0int_int__63__4(tmp115__1, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3948(line=201, offs=3) -- 4030(line=202, offs=59)
*/
ATSif(
tmp114__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3981(line=202, offs=10) -- 3983(line=202, offs=12)
*/
ATSINSmove(tmpret107__1, arg0) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3993(line=202, offs=22) -- 4008(line=202, offs=37)
*/
ATSINSmove(tmp117__1, ptrcmp_33__33__1(arg1, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3993(line=202, offs=22) -- 4013(line=202, offs=42)
*/
ATSINSmove(tmp116__1, ATSLIB_056_prelude__lte_g0int_int__63__5(tmp117__1, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3990(line=202, offs=19) -- 4029(line=202, offs=58)
*/
ATSif(
tmp116__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4019(line=202, offs=48) -- 4021(line=202, offs=50)
*/
ATSINSmove(tmpret107__1, arg2) ;
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4027(line=202, offs=56) -- 4029(line=202, offs=58)
*/
ATSINSmove(tmpret107__1, arg1) ;
} /* ATSendif */
} /* ATSendif */
} /* ATSendif */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 3791(line=193, offs=11) -- 4051(line=204, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret107__1) ;
} /* end of [auxmid_37__37__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 11753(line=606, offs=3) -- 11793(line=606, offs=43)
*/
/*
local: 
global: lte_g0int_int$63$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = tk(4633)
tmparg = S2Evar(tk(4633))
tmpsub = None()
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lte_g0int_int__63(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret204, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp205, atstkind_t0ype(atstyvar_type(tk))) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11737(line=605, offs=1) -- 11793(line=606, offs=43)
*/
ATSINSflab(__patsflab_lte_g0int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11780(line=606, offs=30) -- 11791(line=606, offs=41)
*/
ATSINSmove(tmp205, PMVtmpltcst(g0int2int<S2Eextkind(atstype_int), S2Evar(tk(4633))>)(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11762(line=606, offs=12) -- 11793(line=606, offs=43)
*/
ATSINSmove(tmpret204, PMVtmpltcst(g0int_lte<S2Evar(tk(4633))>)(arg0, tmp205)) ;

ATSfunbody_end()
ATSreturn(tmpret204) ;
} /* end of [ATSLIB_056_prelude__lte_g0int_int__63] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 11753(line=606, offs=3) -- 11793(line=606, offs=43)
*/
/*
local: 
global: lte_g0int_int$63$1(level=9)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4633)
tmparg = S2Evar(tk(4633))
tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lte_g0int_int__63__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret204__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp205__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11737(line=605, offs=1) -- 11793(line=606, offs=43)
*/
ATSINSflab(__patsflab_lte_g0int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11780(line=606, offs=30) -- 11791(line=606, offs=41)
*/
ATSINSmove(tmp205__1, atspre_g0int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11762(line=606, offs=12) -- 11793(line=606, offs=43)
*/
ATSINSmove(tmpret204__1, atspre_g0int_lte_int(arg0, tmp205__1)) ;

ATSfunbody_end()
ATSreturn(tmpret204__1) ;
} /* end of [ATSLIB_056_prelude__lte_g0int_int__63__1] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 11753(line=606, offs=3) -- 11793(line=606, offs=43)
*/
/*
local: 
global: lte_g0int_int$63$2(level=9)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4633)
tmparg = S2Evar(tk(4633))
tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lte_g0int_int__63__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret204__2, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp205__2, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11737(line=605, offs=1) -- 11793(line=606, offs=43)
*/
ATSINSflab(__patsflab_lte_g0int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11780(line=606, offs=30) -- 11791(line=606, offs=41)
*/
ATSINSmove(tmp205__2, atspre_g0int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11762(line=606, offs=12) -- 11793(line=606, offs=43)
*/
ATSINSmove(tmpret204__2, atspre_g0int_lte_int(arg0, tmp205__2)) ;

ATSfunbody_end()
ATSreturn(tmpret204__2) ;
} /* end of [ATSLIB_056_prelude__lte_g0int_int__63__2] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 11753(line=606, offs=3) -- 11793(line=606, offs=43)
*/
/*
local: 
global: lte_g0int_int$63$3(level=9)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4633)
tmparg = S2Evar(tk(4633))
tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lte_g0int_int__63__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret204__3, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp205__3, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11737(line=605, offs=1) -- 11793(line=606, offs=43)
*/
ATSINSflab(__patsflab_lte_g0int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11780(line=606, offs=30) -- 11791(line=606, offs=41)
*/
ATSINSmove(tmp205__3, atspre_g0int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11762(line=606, offs=12) -- 11793(line=606, offs=43)
*/
ATSINSmove(tmpret204__3, atspre_g0int_lte_int(arg0, tmp205__3)) ;

ATSfunbody_end()
ATSreturn(tmpret204__3) ;
} /* end of [ATSLIB_056_prelude__lte_g0int_int__63__3] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 11753(line=606, offs=3) -- 11793(line=606, offs=43)
*/
/*
local: 
global: lte_g0int_int$63$4(level=9)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4633)
tmparg = S2Evar(tk(4633))
tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lte_g0int_int__63__4(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret204__4, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp205__4, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11737(line=605, offs=1) -- 11793(line=606, offs=43)
*/
ATSINSflab(__patsflab_lte_g0int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11780(line=606, offs=30) -- 11791(line=606, offs=41)
*/
ATSINSmove(tmp205__4, atspre_g0int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11762(line=606, offs=12) -- 11793(line=606, offs=43)
*/
ATSINSmove(tmpret204__4, atspre_g0int_lte_int(arg0, tmp205__4)) ;

ATSfunbody_end()
ATSreturn(tmpret204__4) ;
} /* end of [ATSLIB_056_prelude__lte_g0int_int__63__4] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 11753(line=606, offs=3) -- 11793(line=606, offs=43)
*/
/*
local: 
global: lte_g0int_int$63$5(level=9)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4633)
tmparg = S2Evar(tk(4633))
tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lte_g0int_int__63__5(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret204__5, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp205__5, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11737(line=605, offs=1) -- 11793(line=606, offs=43)
*/
ATSINSflab(__patsflab_lte_g0int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11780(line=606, offs=30) -- 11791(line=606, offs=41)
*/
ATSINSmove(tmp205__5, atspre_g0int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11762(line=606, offs=12) -- 11793(line=606, offs=43)
*/
ATSINSmove(tmpret204__5, atspre_g0int_lte_int(arg0, tmp205__5)) ;

ATSfunbody_end()
ATSreturn(tmpret204__5) ;
} /* end of [ATSLIB_056_prelude__lte_g0int_int__63__5] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4110(line=208, offs=5) -- 4301(line=220, offs=4)
*/
/*
local: auxmid_37$1(level=8)
global: ptrcmp_33$1(level=8), auxmid_37$1(level=8), auxpivot_38$1(level=8)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
auxpivot_38__38__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_size) arg1, atstkind_t0ype(atstype_size) arg2)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret118__1) ;
ATStmpdec(tmp119__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp120__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp121__1, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp122__1, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp123__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp124__1, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp125__1, atstkind_t0ype(atstype_size)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4110(line=208, offs=5) -- 4301(line=220, offs=4)
*/
ATSINSflab(__patsflab_auxpivot_38):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4168(line=211, offs=12) -- 4301(line=220, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4204(line=215, offs=12) -- 4212(line=215, offs=20)
*/
ATSINSmove(tmp122__1, atspre_g0uint_half_size(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4204(line=215, offs=12) -- 4219(line=215, offs=27)
*/
ATSINSmove(tmp121__1, atspre_g0uint_mul_size(tmp122__1, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4199(line=215, offs=7) -- 4219(line=215, offs=27)
*/
ATSINSmove(tmp120__1, atspre_add_ptr0_bsz(arg0, tmp121__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4226(line=215, offs=34) -- 4234(line=215, offs=42)
*/
ATSINSmove(tmp125__1, atspre_g0uint_pred_size(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4226(line=215, offs=34) -- 4241(line=215, offs=49)
*/
ATSINSmove(tmp124__1, atspre_g0uint_mul_size(tmp125__1, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4221(line=215, offs=29) -- 4241(line=215, offs=49)
*/
ATSINSmove(tmp123__1, atspre_add_ptr0_bsz(arg0, tmp124__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4184(line=213, offs=10) -- 4243(line=216, offs=2)
*/
ATSINSmove(tmp119__1, auxmid_37__37__1(arg0, tmp120__1, tmp123__1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4271(line=219, offs=3) -- 4297(line=219, offs=29)
*/
ATSINSmove_void(tmpret118__1, ATSLIB_056_prelude_056_unsafe__ptr0_intch__57__2(arg0, tmp119__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4168(line=211, offs=12) -- 4301(line=220, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret118__1) ;
} /* end of [auxpivot_38__38__1] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2705(line=110, offs=3) -- 2974(line=120, offs=2)
*/
/*
local: 
global: ptr0_intch$57$2(level=9)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5730)
tmparg = S2Evar(a(5730))
tmpsub = Some(a(5730) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_intch__57__2(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret180__2) ;
ATStmpdec(tmp181__2, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2692(line=109, offs=1) -- 2974(line=120, offs=2)
*/
ATSINSflab(__patsflab_ptr0_intch):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2716(line=110, offs=14) -- 2974(line=120, offs=2)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/* (*nothing*) */
/* (*nothing*) */
/* (*nothing*) */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2875(line=115, offs=13) -- 2878(line=115, offs=16)
*/
ATSINSmove(tmp181__2, ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0)), atstkind_t0ype(atstype_int))) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2891(line=116, offs=13) -- 2901(line=116, offs=23)
*/
ATSINSstore(ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0)), atstkind_t0ype(atstype_int)), ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg1)), atstkind_t0ype(atstype_int))) ;
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2914(line=117, offs=13) -- 2924(line=117, offs=23)
*/
ATSINSstore(ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg1)), atstkind_t0ype(atstype_int)), tmp181__2) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2914(line=117, offs=13) -- 2924(line=117, offs=23)
*/
ATSINSmove_void(tmpret180__2, ATSPMVempty()) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2716(line=110, offs=14) -- 2974(line=120, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret180__2) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_intch__57__2] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4459(line=229, offs=5) -- 4671(line=241, offs=2)
*/
/*
local: ptrcmp_33$1(level=8), auxsplit_l_39$1(level=8)
global: ptrcmp_33$1(level=8), auxsplit_l_39$1(level=8)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
auxsplit_l_39__39__1(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_type(atstype_ptrk) arg2, atstkind_t0ype(atstype_size) arg3)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy2, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy3, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmpret126__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp127__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp128__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp129__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp130__1, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4459(line=229, offs=5) -- 4671(line=241, offs=2)
*/
ATSINSflab(__patsflab_auxsplit_l_39):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4528(line=234, offs=4) -- 4536(line=234, offs=12)
*/
ATSINSmove(tmp127__1, atspre_lte_ptr0_ptr0(arg1, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4525(line=234, offs=1) -- 4654(line=240, offs=12)
*/
ATSif(
tmp127__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4542(line=234, offs=18) -- 4646(line=240, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4558(line=235, offs=13) -- 4573(line=235, offs=28)
*/
ATSINSmove(tmp128__1, ptrcmp_33__33__1(arg1, arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4583(line=238, offs=4) -- 4591(line=238, offs=12)
*/
ATSINSmove(tmp129__1, ATSLIB_056_prelude__lte_g0int_int__63__6(tmp128__1, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4580(line=238, offs=1) -- 4639(line=238, offs=60)
*/
ATSif(
tmp129__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4613(line=238, offs=34) -- 4621(line=238, offs=42)
*/
ATSINSmove(tmp130__1, atspre_add_ptr0_bsz(arg1, arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4597(line=238, offs=18) -- 4631(line=238, offs=52)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg0) ;
ATSINSmove_tlcal(apy1, tmp130__1) ;
ATSINSmove_tlcal(apy2, arg2) ;
ATSINSmove_tlcal(apy3, arg3) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSargmove_tlcal(arg2, apy2) ;
ATSINSargmove_tlcal(arg3, apy3) ;
ATSINSfgoto(__patsflab_auxsplit_l_39) ;
ATStailcal_end()

} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4637(line=238, offs=58) -- 4639(line=238, offs=60)
*/
ATSINSmove(tmpret126__1, arg1) ;
} /* ATSendif */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4542(line=234, offs=18) -- 4646(line=240, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4652(line=240, offs=10) -- 4654(line=240, offs=12)
*/
ATSINSmove(tmpret126__1, arg1) ;
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret126__1) ;
} /* end of [auxsplit_l_39__39__1] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 11753(line=606, offs=3) -- 11793(line=606, offs=43)
*/
/*
local: 
global: lte_g0int_int$63$6(level=9)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4633)
tmparg = S2Evar(tk(4633))
tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lte_g0int_int__63__6(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret204__6, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp205__6, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11737(line=605, offs=1) -- 11793(line=606, offs=43)
*/
ATSINSflab(__patsflab_lte_g0int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11780(line=606, offs=30) -- 11791(line=606, offs=41)
*/
ATSINSmove(tmp205__6, atspre_g0int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11762(line=606, offs=12) -- 11793(line=606, offs=43)
*/
ATSINSmove(tmpret204__6, atspre_g0int_lte_int(arg0, tmp205__6)) ;

ATSfunbody_end()
ATSreturn(tmpret204__6) ;
} /* end of [ATSLIB_056_prelude__lte_g0int_int__63__6] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4703(line=243, offs=5) -- 4915(line=255, offs=2)
*/
/*
local: ptrcmp_33$1(level=8), auxsplit_r_40$1(level=8)
global: ptrcmp_33$1(level=8), auxsplit_r_40$1(level=8)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
auxsplit_r_40__40__1(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_type(atstype_ptrk) arg2, atstkind_t0ype(atstype_size) arg3)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy2, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy3, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmpret131__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp132__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp133__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp134__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp135__1, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4703(line=243, offs=5) -- 4915(line=255, offs=2)
*/
ATSINSflab(__patsflab_auxsplit_r_40):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4772(line=248, offs=4) -- 4780(line=248, offs=12)
*/
ATSINSmove(tmp132__1, atspre_lte_ptr0_ptr0(arg1, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4769(line=248, offs=1) -- 4898(line=254, offs=12)
*/
ATSif(
tmp132__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4786(line=248, offs=18) -- 4890(line=254, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4802(line=249, offs=13) -- 4817(line=249, offs=28)
*/
ATSINSmove(tmp133__1, ptrcmp_33__33__1(arg0, arg2)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4827(line=252, offs=4) -- 4835(line=252, offs=12)
*/
ATSINSmove(tmp134__1, ATSLIB_056_prelude__lte_g0int_int__63__7(tmp133__1, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4824(line=252, offs=1) -- 4883(line=252, offs=60)
*/
ATSif(
tmp134__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4861(line=252, offs=38) -- 4869(line=252, offs=46)
*/
ATSINSmove(tmp135__1, atspre_sub_ptr0_bsz(arg2, arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4841(line=252, offs=18) -- 4875(line=252, offs=52)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg0) ;
ATSINSmove_tlcal(apy1, arg1) ;
ATSINSmove_tlcal(apy2, tmp135__1) ;
ATSINSmove_tlcal(apy3, arg3) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSargmove_tlcal(arg2, apy2) ;
ATSINSargmove_tlcal(arg3, apy3) ;
ATSINSfgoto(__patsflab_auxsplit_r_40) ;
ATStailcal_end()

} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4881(line=252, offs=58) -- 4883(line=252, offs=60)
*/
ATSINSmove(tmpret131__1, arg2) ;
} /* ATSendif */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4786(line=248, offs=18) -- 4890(line=254, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4896(line=254, offs=10) -- 4898(line=254, offs=12)
*/
ATSINSmove(tmpret131__1, arg2) ;
} /* ATSendif */
ATSfunbody_end()
ATSreturn(tmpret131__1) ;
} /* end of [auxsplit_r_40__40__1] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 11753(line=606, offs=3) -- 11793(line=606, offs=43)
*/
/*
local: 
global: lte_g0int_int$63$7(level=9)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4633)
tmparg = S2Evar(tk(4633))
tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lte_g0int_int__63__7(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret204__7, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp205__7, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11737(line=605, offs=1) -- 11793(line=606, offs=43)
*/
ATSINSflab(__patsflab_lte_g0int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11780(line=606, offs=30) -- 11791(line=606, offs=41)
*/
ATSINSmove(tmp205__7, atspre_g0int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11762(line=606, offs=12) -- 11793(line=606, offs=43)
*/
ATSINSmove(tmpret204__7, atspre_g0int_lte_int(arg0, tmp205__7)) ;

ATSfunbody_end()
ATSreturn(tmpret204__7) ;
} /* end of [ATSLIB_056_prelude__lte_g0int_int__63__7] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4947(line=257, offs=5) -- 5243(line=271, offs=4)
*/
/*
local: auxsplit_l_39$1(level=8), auxsplit_r_40$1(level=8), auxsplit_lr_41$1(level=8)
global: ptrcmp_33$1(level=8), auxsplit_l_39$1(level=8), auxsplit_r_40$1(level=8), auxsplit_lr_41$1(level=8)
local: 
global: 
*/
ATSstatic()
atstkind_type(atstype_ptrk)
auxsplit_lr_41__41__1(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_type(atstype_ptrk) arg2, atstkind_t0ype(atstype_size) arg3)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy2, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy3, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmpret136__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp137__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp138__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp139__1, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp140__1) ;
ATStmpdec(tmp141__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp142__1, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 4947(line=257, offs=5) -- 5243(line=271, offs=4)
*/
ATSINSflab(__patsflab_auxsplit_lr_41):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5012(line=260, offs=11) -- 5243(line=271, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5027(line=261, offs=12) -- 5055(line=261, offs=40)
*/
ATSINSmove(tmp137__1, auxsplit_l_39__39__1(arg0, arg1, arg2, arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5067(line=262, offs=12) -- 5095(line=262, offs=40)
*/
ATSINSmove(tmp138__1, auxsplit_r_40__40__1(arg0, tmp137__1, arg2, arg3)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5105(line=265, offs=4) -- 5112(line=265, offs=11)
*/
ATSINSmove(tmp139__1, atspre_lt_ptr0_ptr0(tmp137__1, tmp138__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5102(line=265, offs=1) -- 5218(line=269, offs=12)
*/
ATSif(
tmp139__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5118(line=265, offs=17) -- 5210(line=269, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5133(line=266, offs=12) -- 5159(line=266, offs=38)
*/
ATSINSmove_void(tmp140__1, ATSLIB_056_prelude_056_unsafe__ptr0_intch__57__3(tmp137__1, tmp138__1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5182(line=268, offs=20) -- 5190(line=268, offs=28)
*/
ATSINSmove(tmp141__1, atspre_add_ptr0_bsz(tmp137__1, arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5192(line=268, offs=30) -- 5200(line=268, offs=38)
*/
ATSINSmove(tmp142__1, atspre_sub_ptr0_bsz(tmp138__1, arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5165(line=268, offs=3) -- 5206(line=268, offs=44)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg0) ;
ATSINSmove_tlcal(apy1, tmp141__1) ;
ATSINSmove_tlcal(apy2, tmp142__1) ;
ATSINSmove_tlcal(apy3, arg3) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSargmove_tlcal(arg2, apy2) ;
ATSINSargmove_tlcal(arg3, apy3) ;
ATSINSfgoto(__patsflab_auxsplit_lr_41) ;
ATStailcal_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5118(line=265, offs=17) -- 5210(line=269, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5216(line=269, offs=10) -- 5218(line=269, offs=12)
*/
ATSINSmove(tmpret136__1, tmp137__1) ;
} /* ATSendif */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5012(line=260, offs=11) -- 5243(line=271, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret136__1) ;
} /* end of [auxsplit_lr_41__41__1] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2705(line=110, offs=3) -- 2974(line=120, offs=2)
*/
/*
local: 
global: ptr0_intch$57$3(level=9)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5730)
tmparg = S2Evar(a(5730))
tmpsub = Some(a(5730) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_intch__57__3(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret180__3) ;
ATStmpdec(tmp181__3, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2692(line=109, offs=1) -- 2974(line=120, offs=2)
*/
ATSINSflab(__patsflab_ptr0_intch):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2716(line=110, offs=14) -- 2974(line=120, offs=2)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/* (*nothing*) */
/* (*nothing*) */
/* (*nothing*) */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2875(line=115, offs=13) -- 2878(line=115, offs=16)
*/
ATSINSmove(tmp181__3, ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0)), atstkind_t0ype(atstype_int))) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2891(line=116, offs=13) -- 2901(line=116, offs=23)
*/
ATSINSstore(ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0)), atstkind_t0ype(atstype_int)), ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg1)), atstkind_t0ype(atstype_int))) ;
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2914(line=117, offs=13) -- 2924(line=117, offs=23)
*/
ATSINSstore(ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg1)), atstkind_t0ype(atstype_int)), tmp181__3) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2914(line=117, offs=13) -- 2924(line=117, offs=23)
*/
ATSINSmove_void(tmpret180__3, ATSPMVempty()) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2716(line=110, offs=14) -- 2974(line=120, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret180__3) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_intch__57__3] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5363(line=281, offs=5) -- 6030(line=311, offs=4)
*/
/*
local: auxinsort_36$1(level=8), auxpivot_38$1(level=8), auxsplit_lr_41$1(level=8), auxqsort_42$1(level=8)
global: ptrcmp_33$1(level=8), auxins_34$1(level=8), auxinss_35$1(level=8), auxinsort_36$1(level=8), auxmid_37$1(level=8), auxpivot_38$1(level=8), auxsplit_l_39$1(level=8), auxsplit_r_40$1(level=8), auxsplit_lr_41$1(level=8), auxqsort_42$1(level=8)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
auxqsort_42__42__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_size) arg1, atstkind_t0ype(atstype_size) arg2)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy1, atstkind_t0ype(atstype_size)) ;
ATStmpdec(apy2, atstkind_t0ype(atstype_size)) ;
// ATStmpdec_void(tmpret143__1) ;
ATStmpdec(tmp144__1, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp145__1) ;
ATStmpdec(tmp146__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp147__1, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp148__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp149__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp150__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp151__1, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp152__1) ;
ATStmpdec(tmp153__1, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp154__1, atstkind_t0ype(atstype_ssize)) ;
ATStmpdec(tmp155__1, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp156__1, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp157__1, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp158__1) ;
// ATStmpdec_void(tmp159__1) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5363(line=281, offs=5) -- 6030(line=311, offs=4)
*/
ATSINSflab(__patsflab_auxqsort_42):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5434(line=287, offs=4) -- 5447(line=287, offs=17)
*/
ATSINSmove(tmp144__1, ATSLIB_056_prelude__gte_g0uint_int__81__1(arg1, ATSPMVintrep(12))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5431(line=287, offs=1) -- 6008(line=308, offs=27)
*/
ATSif(
tmp144__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5453(line=287, offs=23) -- 5976(line=307, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5468(line=288, offs=12) -- 5491(line=288, offs=35)
*/
ATSINSmove_void(tmp145__1, auxpivot_38__38__1(arg0, arg1, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5508(line=289, offs=17) -- 5517(line=289, offs=26)
*/
ATSINSmove(tmp147__1, atspre_g0uint_mul_size(arg1, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5503(line=289, offs=12) -- 5517(line=289, offs=26)
*/
ATSINSmove(tmp146__1, atspre_add_ptr0_bsz(arg0, tmp147__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5546(line=290, offs=29) -- 5554(line=290, offs=37)
*/
ATSINSmove(tmp149__1, atspre_add_ptr0_bsz(arg0, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5556(line=290, offs=39) -- 5564(line=290, offs=47)
*/
ATSINSmove(tmp150__1, atspre_sub_ptr0_bsz(tmp146__1, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5529(line=290, offs=12) -- 5570(line=290, offs=53)
*/
ATSINSmove(tmp148__1, auxsplit_lr_41__41__1(arg0, tmp149__1, tmp150__1, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5583(line=291, offs=13) -- 5591(line=291, offs=21)
*/
ATSINSmove(tmp151__1, atspre_sub_ptr0_bsz(tmp148__1, arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5603(line=292, offs=12) -- 5630(line=292, offs=39)
*/
ATSINSmove_void(tmp152__1, ATSLIB_056_prelude_056_unsafe__ptr0_intch__57__4(arg0, tmp151__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5659(line=293, offs=29) -- 5665(line=293, offs=35)
*/
ATSINSmove(tmp154__1, atspre_sub_ptr0_ptr0(tmp151__1, arg0)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5645(line=293, offs=15) -- 5672(line=293, offs=42)
*/
ATSINSmove(tmp153__1, atspre_g0uint_div_size(ATSPMVcastfn(cast2size, atstkind_t0ype(atstype_size), tmp154__1), arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5693(line=294, offs=21) -- 5704(line=294, offs=32)
*/
ATSINSmove(tmp156__1, atspre_g0uint_sub_size(arg1, tmp153__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5687(line=294, offs=15) -- 5705(line=294, offs=33)
*/
ATSINSmove(tmp155__1, atspre_g0uint_pred_size(tmp156__1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5714(line=296, offs=6) -- 5728(line=296, offs=20)
*/
ATSINSmove(tmp157__1, atspre_g0uint_lte_size(tmp153__1, tmp155__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5711(line=296, offs=3) -- 5954(line=306, offs=6)
*/
ATSif(
tmp157__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5734(line=296, offs=26) -- 5841(line=301, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5751(line=297, offs=14) -- 5776(line=297, offs=39)
*/
ATSINSmove_void(tmp158__1, auxqsort_42__42__1(arg0, tmp153__1, arg2)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5790(line=298, offs=14) -- 5815(line=298, offs=39)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, tmp148__1) ;
ATSINSmove_tlcal(apy1, tmp155__1) ;
ATSINSmove_tlcal(apy2, arg2) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSargmove_tlcal(arg2, apy2) ;
ATSINSfgoto(__patsflab_auxqsort_42) ;
ATStailcal_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5734(line=296, offs=26) -- 5841(line=301, offs=6)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5847(line=301, offs=12) -- 5954(line=306, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5864(line=302, offs=14) -- 5889(line=302, offs=39)
*/
ATSINSmove_void(tmp159__1, auxqsort_42__42__1(tmp148__1, tmp155__1, arg2)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5903(line=303, offs=14) -- 5928(line=303, offs=39)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg0) ;
ATSINSmove_tlcal(apy1, tmp153__1) ;
ATSINSmove_tlcal(apy2, arg2) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSargmove_tlcal(arg2, apy2) ;
ATSINSfgoto(__patsflab_auxqsort_42) ;
ATStailcal_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5847(line=301, offs=12) -- 5954(line=306, offs=6)
*/
/*
INSletpop()
*/
} /* ATSendif */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5453(line=287, offs=23) -- 5976(line=307, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/SHARE/array_quicksort.dats: 5984(line=308, offs=3) -- 6008(line=308, offs=27)
*/
ATSINSmove_void(tmpret143__1, auxinsort_36__36__1(arg0, arg1, arg2)) ;

} /* ATSendif */
ATSfunbody_end()
ATSreturn_void(tmpret143__1) ;
} /* end of [auxqsort_42__42__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 13089(line=682, offs=3) -- 13131(line=682, offs=45)
*/
/*
local: 
global: gte_g0uint_int$81$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = tk(4663)
tmparg = S2Evar(tk(4663))
tmpsub = None()
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gte_g0uint_int__81(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret266, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp267, atstkind_t0ype(atstyvar_type(tk))) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 13072(line=681, offs=1) -- 13131(line=682, offs=45)
*/
ATSINSflab(__patsflab_gte_g0uint_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 13117(line=682, offs=31) -- 13129(line=682, offs=43)
*/
ATSINSmove(tmp267, PMVtmpltcst(g0int2uint<S2Eextkind(atstype_int), S2Evar(tk(4663))>)(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 13098(line=682, offs=12) -- 13131(line=682, offs=45)
*/
ATSINSmove(tmpret266, PMVtmpltcst(g0uint_gte<S2Evar(tk(4663))>)(arg0, tmp267)) ;

ATSfunbody_end()
ATSreturn(tmpret266) ;
} /* end of [ATSLIB_056_prelude__gte_g0uint_int__81] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 13089(line=682, offs=3) -- 13131(line=682, offs=45)
*/
/*
local: 
global: gte_g0uint_int$81$1(level=9)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4663)
tmparg = S2Evar(tk(4663))
tmpsub = Some(tk(4663) -> S2Eextkind(atstype_size))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__gte_g0uint_int__81__1(atstkind_t0ype(atstype_size) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret266__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp267__1, atstkind_t0ype(atstype_size)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 13072(line=681, offs=1) -- 13131(line=682, offs=45)
*/
ATSINSflab(__patsflab_gte_g0uint_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 13117(line=682, offs=31) -- 13129(line=682, offs=43)
*/
ATSINSmove(tmp267__1, atspre_g0int2uint_int_size(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 13098(line=682, offs=12) -- 13131(line=682, offs=45)
*/
ATSINSmove(tmpret266__1, atspre_g0uint_gte_size(arg0, tmp267__1)) ;

ATSfunbody_end()
ATSreturn(tmpret266__1) ;
} /* end of [ATSLIB_056_prelude__gte_g0uint_int__81__1] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2705(line=110, offs=3) -- 2974(line=120, offs=2)
*/
/*
local: 
global: ptr0_intch$57$4(level=9)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5730)
tmparg = S2Evar(a(5730))
tmpsub = Some(a(5730) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_intch__57__4(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret180__4) ;
ATStmpdec(tmp181__4, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2692(line=109, offs=1) -- 2974(line=120, offs=2)
*/
ATSINSflab(__patsflab_ptr0_intch):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2716(line=110, offs=14) -- 2974(line=120, offs=2)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/* (*nothing*) */
/* (*nothing*) */
/* (*nothing*) */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2875(line=115, offs=13) -- 2878(line=115, offs=16)
*/
ATSINSmove(tmp181__4, ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0)), atstkind_t0ype(atstype_int))) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2891(line=116, offs=13) -- 2901(line=116, offs=23)
*/
ATSINSstore(ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0)), atstkind_t0ype(atstype_int)), ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg1)), atstkind_t0ype(atstype_int))) ;
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2914(line=117, offs=13) -- 2924(line=117, offs=23)
*/
ATSINSstore(ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg1)), atstkind_t0ype(atstype_int)), tmp181__4) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2914(line=117, offs=13) -- 2924(line=117, offs=23)
*/
ATSINSmove_void(tmpret180__4, ATSPMVempty()) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2716(line=110, offs=14) -- 2974(line=120, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret180__4) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_intch__57__4] */

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2858(line=138, offs=1) -- 3043(line=154, offs=4)
*/
/*
local: 
global: copy_27$1(level=5)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
copy_27__27__1(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_t0ype(atstype_int) arg2)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret66__1) ;
ATStmpdec(tmp67__1, atstkind_t0ype(atstype_size)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2858(line=138, offs=1) -- 3043(line=154, offs=4)
*/
ATSINSflab(__patsflab_copy_27):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3005(line=151, offs=32) -- 3018(line=151, offs=45)
*/
ATSINSmove(tmp67__1, ATSLIB_056_prelude__mul_int1_size1__90__1(arg2, ATSPMVsizeof(atstkind_t0ype(atstype_int)))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 2957(line=149, offs=1) -- 3020(line=152, offs=2)
*/
ATSINSmove_void(tmpret66__1, ATSextfcall(atspre_array_memcpy, (arg1, arg0, tmp67__1))) ;
ATSfunbody_end()
ATSreturn_void(tmpret66__1) ;
} /* end of [copy_27__27__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 5763(line=275, offs=8) -- 5807(line=276, offs=36)
*/
/*
local: 
global: mul_int1_size1$90$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstkind_t0ype(atstype_size)
ATSLIB_056_prelude__mul_int1_size1__90(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_size) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret274, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp275, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp276, atstkind_t0ype(atstype_size)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 5741(line=274, offs=1) -- 5807(line=276, offs=36)
*/
ATSINSflab(__patsflab_mul_int1_size1):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 5796(line=276, offs=25) -- 5803(line=276, offs=32)
*/
ATSINSmove(tmp276, PMVtmpltcst(g0int2uint<S2Eextkind(atstype_int), S2Eextkind(atstype_size)>)(arg0)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 5796(line=276, offs=25) -- 5806(line=276, offs=35)
*/
ATSINSmove(tmp275, PMVtmpltcst(g0uint_mul<S2Eextkind(atstype_size)>)(tmp276, arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 5774(line=276, offs=3) -- 5807(line=276, offs=36)
*/
ATSINSmove(tmpret274, ATSPMVcastfn(cast, atstkind_t0ype(atstype_size), tmp275)) ;
ATSfunbody_end()
ATSreturn(tmpret274) ;
} /* end of [ATSLIB_056_prelude__mul_int1_size1__90] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 5763(line=275, offs=8) -- 5807(line=276, offs=36)
*/
/*
local: 
global: mul_int1_size1$90$1(level=6)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_t0ype(atstype_size)
ATSLIB_056_prelude__mul_int1_size1__90__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_size) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret274__1, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp275__1, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp276__1, atstkind_t0ype(atstype_size)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 5741(line=274, offs=1) -- 5807(line=276, offs=36)
*/
ATSINSflab(__patsflab_mul_int1_size1):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 5796(line=276, offs=25) -- 5803(line=276, offs=32)
*/
ATSINSmove(tmp276__1, atspre_g0int2uint_int_size(arg0)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 5796(line=276, offs=25) -- 5806(line=276, offs=35)
*/
ATSINSmove(tmp275__1, atspre_g0uint_mul_size(tmp276__1, arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 5774(line=276, offs=3) -- 5807(line=276, offs=36)
*/
ATSINSmove(tmpret274__1, ATSPMVcastfn(cast, atstkind_t0ype(atstype_size), tmp275__1)) ;
ATSfunbody_end()
ATSreturn(tmpret274__1) ;
} /* end of [ATSLIB_056_prelude__mul_int1_size1__90__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3288(line=168, offs=3) -- 3911(line=199, offs=4)
*/
/*
local: 
global: DivideConquer$divide$92$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__divide__92(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret280, atstype_boxed) ;
ATStmpdec(tmp281, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp282, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp283, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp284, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp285, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp286, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp287, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp288, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp289, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp290, atstype_boxed) ;
ATStmpdec(tmp291, atstype_boxed) ;
ATStmpdec(tmp292, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp293, atstype_boxed) ;
ATStmpdec(tmp294, atstype_boxed) ;
ATStmpdec(tmp295, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp296, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp297, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp298, atstype_boxed) ;
ATStmpdec(tmp299, atstype_boxed) ;
ATStmpdec(tmp300, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp301, atstype_boxed) ;
ATStmpdec(tmp302, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3259(line=167, offs=1) -- 3911(line=199, offs=4)
*/
ATSINSflab(__patsflab_DivideConquer__divide):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3362(line=177, offs=1) -- 3885(line=197, offs=6)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3377(line=178, offs=3) -- 3392(line=178, offs=18)
*/
ATSINSlab(__atstmplab12):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3289(line=168, offs=4) -- 3292(line=168, offs=7)
*/
ATSifnthen(ATSCKpat_con1(arg0, 0)) { ATSINSgoto(__atstmplab15) ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3392(line=178, offs=18) -- 3392(line=178, offs=18)
*/
ATSINSlab(__atstmplab13):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3384(line=178, offs=10) -- 3385(line=178, offs=11)
*/
ATSINSmove(tmp281, ATSSELcon(arg0, postiats_tysum_0, atslab__0)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3387(line=178, offs=13) -- 3388(line=178, offs=14)
*/
ATSINSmove(tmp282, ATSSELcon(arg0, postiats_tysum_0, atslab__1)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3390(line=178, offs=16) -- 3391(line=178, offs=17)
*/
ATSINSmove(tmp283, ATSSELcon(arg0, postiats_tysum_0, atslab__2)) ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3396(line=178, offs=22) -- 3620(line=187, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3413(line=179, offs=14) -- 3419(line=179, offs=20)
*/
ATSINSmove(tmp287, PMVtmpltcst(g1int_half<S2Eextkind(atstype_int)>)(tmp281)) ;

/* (*nothing*) */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3460(line=181, offs=14) -- 3479(line=181, offs=33)
*/
ATSINSmove(tmp288, PMVtmpltcst(ptr0_add_gint<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))><S2Eextkind(atstype_int)>)(tmp282, tmp287)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3493(line=182, offs=14) -- 3512(line=182, offs=33)
*/
ATSINSmove(tmp289, PMVtmpltcst(ptr0_add_gint<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))><S2Eextkind(atstype_int)>)(tmp283, tmp287)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3528(line=183, offs=16) -- 3546(line=183, offs=34)
*/

/*
#LINCONSTATUS==1
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmp290, postiats_tysum_0) ;
// #if(1)
ATSINSstore_con1_tag(tmp290, 1) ;
// #endif
ATSINSstore_con1_ofs(tmp290, postiats_tysum_0, atslab__0, tmp287) ;
ATSINSstore_con1_ofs(tmp290, postiats_tysum_0, atslab__1, tmp282) ;
ATSINSstore_con1_ofs(tmp290, postiats_tysum_0, atslab__2, tmp283) ;
ATSINSmove_con1_end()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3569(line=184, offs=23) -- 3573(line=184, offs=27)
*/
ATSINSmove(tmp292, PMVtmpltcst(g1int_sub<S2Eextkind(atstype_int)>)(tmp281, tmp287)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3562(line=184, offs=16) -- 3582(line=184, offs=36)
*/

/*
#LINCONSTATUS==1
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmp291, postiats_tysum_0) ;
// #if(1)
ATSINSstore_con1_tag(tmp291, 1) ;
// #endif
ATSINSstore_con1_ofs(tmp291, postiats_tysum_0, atslab__0, tmp292) ;
ATSINSstore_con1_ofs(tmp291, postiats_tysum_0, atslab__1, tmp288) ;
ATSINSstore_con1_ofs(tmp291, postiats_tysum_0, atslab__2, tmp289) ;
ATSINSmove_con1_end()
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3592(line=186, offs=5) -- 3614(line=186, offs=27)
*/

ATSINSmove_nil(tmp294) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3592(line=186, offs=5) -- 3614(line=186, offs=27)
*/

/*
#LINCONSTATUS==1
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmp293, postiats_tysum_2) ;
#if(0)
ATSINSstore_con1_tag(tmp293, 1) ;
#endif
ATSINSstore_con1_ofs(tmp293, postiats_tysum_2, atslab__0, tmp291) ;
ATSINSstore_con1_ofs(tmp293, postiats_tysum_2, atslab__1, tmp294) ;
ATSINSmove_con1_end()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3592(line=186, offs=5) -- 3614(line=186, offs=27)
*/

/*
#LINCONSTATUS==1
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmpret280, postiats_tysum_2) ;
#if(0)
ATSINSstore_con1_tag(tmpret280, 1) ;
#endif
ATSINSstore_con1_ofs(tmpret280, postiats_tysum_2, atslab__0, tmp290) ;
ATSINSstore_con1_ofs(tmpret280, postiats_tysum_2, atslab__1, tmp293) ;
ATSINSmove_con1_end()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3396(line=178, offs=22) -- 3620(line=187, offs=6)
*/
/*
INSletpop()
*/
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3642(line=188, offs=3) -- 3657(line=188, offs=18)
*/
ATSINSlab(__atstmplab14):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3289(line=168, offs=4) -- 3292(line=168, offs=7)
*/
#if(0)
ATSifnthen(ATSCKpat_con1(arg0, 1)) { ATSINSdeadcode_fail() ; } ;
#endif
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3657(line=188, offs=18) -- 3657(line=188, offs=18)
*/
ATSINSlab(__atstmplab15):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3649(line=188, offs=10) -- 3650(line=188, offs=11)
*/
ATSINSmove(tmp284, ATSSELcon(arg0, postiats_tysum_0, atslab__0)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3652(line=188, offs=13) -- 3653(line=188, offs=14)
*/
ATSINSmove(tmp285, ATSSELcon(arg0, postiats_tysum_0, atslab__1)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3655(line=188, offs=16) -- 3656(line=188, offs=17)
*/
ATSINSmove(tmp286, ATSSELcon(arg0, postiats_tysum_0, atslab__2)) ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3661(line=188, offs=22) -- 3885(line=197, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3678(line=189, offs=14) -- 3684(line=189, offs=20)
*/
ATSINSmove(tmp295, PMVtmpltcst(g1int_half<S2Eextkind(atstype_int)>)(tmp284)) ;

/* (*nothing*) */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3725(line=191, offs=14) -- 3744(line=191, offs=33)
*/
ATSINSmove(tmp296, PMVtmpltcst(ptr0_add_gint<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))><S2Eextkind(atstype_int)>)(tmp285, tmp295)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3758(line=192, offs=14) -- 3777(line=192, offs=33)
*/
ATSINSmove(tmp297, PMVtmpltcst(ptr0_add_gint<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))><S2Eextkind(atstype_int)>)(tmp286, tmp295)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3793(line=193, offs=16) -- 3811(line=193, offs=34)
*/

/*
#LINCONSTATUS==1
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmp298, postiats_tysum_0) ;
// #if(1)
ATSINSstore_con1_tag(tmp298, 0) ;
// #endif
ATSINSstore_con1_ofs(tmp298, postiats_tysum_0, atslab__0, tmp295) ;
ATSINSstore_con1_ofs(tmp298, postiats_tysum_0, atslab__1, tmp285) ;
ATSINSstore_con1_ofs(tmp298, postiats_tysum_0, atslab__2, tmp286) ;
ATSINSmove_con1_end()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3834(line=194, offs=23) -- 3838(line=194, offs=27)
*/
ATSINSmove(tmp300, PMVtmpltcst(g1int_sub<S2Eextkind(atstype_int)>)(tmp284, tmp295)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3827(line=194, offs=16) -- 3847(line=194, offs=36)
*/

/*
#LINCONSTATUS==1
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmp299, postiats_tysum_0) ;
// #if(1)
ATSINSstore_con1_tag(tmp299, 0) ;
// #endif
ATSINSstore_con1_ofs(tmp299, postiats_tysum_0, atslab__0, tmp300) ;
ATSINSstore_con1_ofs(tmp299, postiats_tysum_0, atslab__1, tmp296) ;
ATSINSstore_con1_ofs(tmp299, postiats_tysum_0, atslab__2, tmp297) ;
ATSINSmove_con1_end()
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3857(line=196, offs=5) -- 3879(line=196, offs=27)
*/

ATSINSmove_nil(tmp302) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3857(line=196, offs=5) -- 3879(line=196, offs=27)
*/

/*
#LINCONSTATUS==1
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmp301, postiats_tysum_2) ;
#if(0)
ATSINSstore_con1_tag(tmp301, 1) ;
#endif
ATSINSstore_con1_ofs(tmp301, postiats_tysum_2, atslab__0, tmp299) ;
ATSINSstore_con1_ofs(tmp301, postiats_tysum_2, atslab__1, tmp302) ;
ATSINSmove_con1_end()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3857(line=196, offs=5) -- 3879(line=196, offs=27)
*/

/*
#LINCONSTATUS==1
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmpret280, postiats_tysum_2) ;
#if(0)
ATSINSstore_con1_tag(tmpret280, 1) ;
#endif
ATSINSstore_con1_ofs(tmpret280, postiats_tysum_2, atslab__0, tmp298) ;
ATSINSstore_con1_ofs(tmpret280, postiats_tysum_2, atslab__1, tmp301) ;
ATSINSmove_con1_end()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3661(line=188, offs=22) -- 3885(line=197, offs=6)
*/
/*
INSletpop()
*/
ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

ATSfunbody_end()
ATSreturn(tmpret280) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__divide__92] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3288(line=168, offs=3) -- 3911(line=199, offs=4)
*/
/*
local: 
global: DivideConquer$divide$92$1(level=4)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__divide__92__1(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret280__1, atstype_boxed) ;
ATStmpdec(tmp281__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp282__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp283__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp284__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp285__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp286__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp287__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp288__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp289__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp290__1, atstype_boxed) ;
ATStmpdec(tmp291__1, atstype_boxed) ;
ATStmpdec(tmp292__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp293__1, atstype_boxed) ;
ATStmpdec(tmp294__1, atstype_boxed) ;
ATStmpdec(tmp295__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp296__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp297__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp298__1, atstype_boxed) ;
ATStmpdec(tmp299__1, atstype_boxed) ;
ATStmpdec(tmp300__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp301__1, atstype_boxed) ;
ATStmpdec(tmp302__1, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3259(line=167, offs=1) -- 3911(line=199, offs=4)
*/
ATSINSflab(__patsflab_DivideConquer__divide):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3362(line=177, offs=1) -- 3885(line=197, offs=6)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3377(line=178, offs=3) -- 3392(line=178, offs=18)
*/
ATSINSlab(__atstmplab12):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3289(line=168, offs=4) -- 3292(line=168, offs=7)
*/
ATSifnthen(ATSCKpat_con1(arg0, 0)) { ATSINSgoto(__atstmplab15) ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3392(line=178, offs=18) -- 3392(line=178, offs=18)
*/
ATSINSlab(__atstmplab13):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3384(line=178, offs=10) -- 3385(line=178, offs=11)
*/
ATSINSmove(tmp281__1, ATSSELcon(arg0, postiats_tysum_0, atslab__0)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3387(line=178, offs=13) -- 3388(line=178, offs=14)
*/
ATSINSmove(tmp282__1, ATSSELcon(arg0, postiats_tysum_0, atslab__1)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3390(line=178, offs=16) -- 3391(line=178, offs=17)
*/
ATSINSmove(tmp283__1, ATSSELcon(arg0, postiats_tysum_0, atslab__2)) ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3396(line=178, offs=22) -- 3620(line=187, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3413(line=179, offs=14) -- 3419(line=179, offs=20)
*/
ATSINSmove(tmp287__1, atspre_g1int_half_int(tmp281__1)) ;

/* (*nothing*) */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3460(line=181, offs=14) -- 3479(line=181, offs=33)
*/
ATSINSmove(tmp288__1, ATSLIB_056_prelude__ptr0_add_gint__95__1(tmp282__1, tmp287__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3493(line=182, offs=14) -- 3512(line=182, offs=33)
*/
ATSINSmove(tmp289__1, ATSLIB_056_prelude__ptr0_add_gint__95__2(tmp283__1, tmp287__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3528(line=183, offs=16) -- 3546(line=183, offs=34)
*/

/*
#LINCONSTATUS==1
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmp290__1, postiats_tysum_0) ;
// #if(1)
ATSINSstore_con1_tag(tmp290__1, 1) ;
// #endif
ATSINSstore_con1_ofs(tmp290__1, postiats_tysum_0, atslab__0, tmp287__1) ;
ATSINSstore_con1_ofs(tmp290__1, postiats_tysum_0, atslab__1, tmp282__1) ;
ATSINSstore_con1_ofs(tmp290__1, postiats_tysum_0, atslab__2, tmp283__1) ;
ATSINSmove_con1_end()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3569(line=184, offs=23) -- 3573(line=184, offs=27)
*/
ATSINSmove(tmp292__1, atspre_g1int_sub_int(tmp281__1, tmp287__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3562(line=184, offs=16) -- 3582(line=184, offs=36)
*/

/*
#LINCONSTATUS==1
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmp291__1, postiats_tysum_0) ;
// #if(1)
ATSINSstore_con1_tag(tmp291__1, 1) ;
// #endif
ATSINSstore_con1_ofs(tmp291__1, postiats_tysum_0, atslab__0, tmp292__1) ;
ATSINSstore_con1_ofs(tmp291__1, postiats_tysum_0, atslab__1, tmp288__1) ;
ATSINSstore_con1_ofs(tmp291__1, postiats_tysum_0, atslab__2, tmp289__1) ;
ATSINSmove_con1_end()
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3592(line=186, offs=5) -- 3614(line=186, offs=27)
*/

ATSINSmove_nil(tmp294__1) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3592(line=186, offs=5) -- 3614(line=186, offs=27)
*/

/*
#LINCONSTATUS==1
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmp293__1, postiats_tysum_2) ;
#if(0)
ATSINSstore_con1_tag(tmp293__1, 1) ;
#endif
ATSINSstore_con1_ofs(tmp293__1, postiats_tysum_2, atslab__0, tmp291__1) ;
ATSINSstore_con1_ofs(tmp293__1, postiats_tysum_2, atslab__1, tmp294__1) ;
ATSINSmove_con1_end()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3592(line=186, offs=5) -- 3614(line=186, offs=27)
*/

/*
#LINCONSTATUS==1
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmpret280__1, postiats_tysum_2) ;
#if(0)
ATSINSstore_con1_tag(tmpret280__1, 1) ;
#endif
ATSINSstore_con1_ofs(tmpret280__1, postiats_tysum_2, atslab__0, tmp290__1) ;
ATSINSstore_con1_ofs(tmpret280__1, postiats_tysum_2, atslab__1, tmp293__1) ;
ATSINSmove_con1_end()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3396(line=178, offs=22) -- 3620(line=187, offs=6)
*/
/*
INSletpop()
*/
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3642(line=188, offs=3) -- 3657(line=188, offs=18)
*/
ATSINSlab(__atstmplab14):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3289(line=168, offs=4) -- 3292(line=168, offs=7)
*/
#if(0)
ATSifnthen(ATSCKpat_con1(arg0, 1)) { ATSINSdeadcode_fail() ; } ;
#endif
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3657(line=188, offs=18) -- 3657(line=188, offs=18)
*/
ATSINSlab(__atstmplab15):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3649(line=188, offs=10) -- 3650(line=188, offs=11)
*/
ATSINSmove(tmp284__1, ATSSELcon(arg0, postiats_tysum_0, atslab__0)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3652(line=188, offs=13) -- 3653(line=188, offs=14)
*/
ATSINSmove(tmp285__1, ATSSELcon(arg0, postiats_tysum_0, atslab__1)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3655(line=188, offs=16) -- 3656(line=188, offs=17)
*/
ATSINSmove(tmp286__1, ATSSELcon(arg0, postiats_tysum_0, atslab__2)) ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3661(line=188, offs=22) -- 3885(line=197, offs=6)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3678(line=189, offs=14) -- 3684(line=189, offs=20)
*/
ATSINSmove(tmp295__1, atspre_g1int_half_int(tmp284__1)) ;

/* (*nothing*) */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3725(line=191, offs=14) -- 3744(line=191, offs=33)
*/
ATSINSmove(tmp296__1, ATSLIB_056_prelude__ptr0_add_gint__95__3(tmp285__1, tmp295__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3758(line=192, offs=14) -- 3777(line=192, offs=33)
*/
ATSINSmove(tmp297__1, ATSLIB_056_prelude__ptr0_add_gint__95__4(tmp286__1, tmp295__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3793(line=193, offs=16) -- 3811(line=193, offs=34)
*/

/*
#LINCONSTATUS==1
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmp298__1, postiats_tysum_0) ;
// #if(1)
ATSINSstore_con1_tag(tmp298__1, 0) ;
// #endif
ATSINSstore_con1_ofs(tmp298__1, postiats_tysum_0, atslab__0, tmp295__1) ;
ATSINSstore_con1_ofs(tmp298__1, postiats_tysum_0, atslab__1, tmp285__1) ;
ATSINSstore_con1_ofs(tmp298__1, postiats_tysum_0, atslab__2, tmp286__1) ;
ATSINSmove_con1_end()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3834(line=194, offs=23) -- 3838(line=194, offs=27)
*/
ATSINSmove(tmp300__1, atspre_g1int_sub_int(tmp284__1, tmp295__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3827(line=194, offs=16) -- 3847(line=194, offs=36)
*/

/*
#LINCONSTATUS==1
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmp299__1, postiats_tysum_0) ;
// #if(1)
ATSINSstore_con1_tag(tmp299__1, 0) ;
// #endif
ATSINSstore_con1_ofs(tmp299__1, postiats_tysum_0, atslab__0, tmp300__1) ;
ATSINSstore_con1_ofs(tmp299__1, postiats_tysum_0, atslab__1, tmp296__1) ;
ATSINSstore_con1_ofs(tmp299__1, postiats_tysum_0, atslab__2, tmp297__1) ;
ATSINSmove_con1_end()
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3857(line=196, offs=5) -- 3879(line=196, offs=27)
*/

ATSINSmove_nil(tmp302__1) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3857(line=196, offs=5) -- 3879(line=196, offs=27)
*/

/*
#LINCONSTATUS==1
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmp301__1, postiats_tysum_2) ;
#if(0)
ATSINSstore_con1_tag(tmp301__1, 1) ;
#endif
ATSINSstore_con1_ofs(tmp301__1, postiats_tysum_2, atslab__0, tmp299__1) ;
ATSINSstore_con1_ofs(tmp301__1, postiats_tysum_2, atslab__1, tmp302__1) ;
ATSINSmove_con1_end()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3857(line=196, offs=5) -- 3879(line=196, offs=27)
*/

/*
#LINCONSTATUS==1
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmpret280__1, postiats_tysum_2) ;
#if(0)
ATSINSstore_con1_tag(tmpret280__1, 1) ;
#endif
ATSINSstore_con1_ofs(tmpret280__1, postiats_tysum_2, atslab__0, tmp298__1) ;
ATSINSstore_con1_ofs(tmpret280__1, postiats_tysum_2, atslab__1, tmp301__1) ;
ATSINSmove_con1_end()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 3661(line=188, offs=22) -- 3885(line=197, offs=6)
*/
/*
INSletpop()
*/
ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

ATSfunbody_end()
ATSreturn(tmpret280__1) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__divide__92__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1960(line=71, offs=14) -- 2012(line=72, offs=44)
*/
/*
local: 
global: ptr0_add_gint$95$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = a(4692), tk(4693)
tmparg = S2Evar(a(4692)); S2Evar(tk(4693))
tmpsub = None()
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_add_gint__95(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstyvar_type(tk)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret326, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp327, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp328, atstkind_t0ype(atstype_size)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1947(line=71, offs=1) -- 2012(line=72, offs=44)
*/
ATSINSflab(__patsflab_ptr0_add_gint):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1986(line=72, offs=18) -- 1998(line=72, offs=30)
*/
ATSINSmove(tmp328, PMVtmpltcst(g0int2uint<S2Evar(tk(4693)), S2Eextkind(atstype_size)>)(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1986(line=72, offs=18) -- 2011(line=72, offs=43)
*/
ATSINSmove(tmp327, PMVtmpltcst(g0uint_mul<S2Eextkind(atstype_size)>)(tmp328, ATSPMVsizeof(atstyvar_type(a)))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1971(line=72, offs=3) -- 2012(line=72, offs=44)
*/
ATSINSmove(tmpret326, atspre_add_ptr0_bsz(arg0, tmp327)) ;

ATSfunbody_end()
ATSreturn(tmpret326) ;
} /* end of [ATSLIB_056_prelude__ptr0_add_gint__95] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1960(line=71, offs=14) -- 2012(line=72, offs=44)
*/
/*
local: 
global: ptr0_add_gint$95$1(level=5)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4692), tk(4693)
tmparg = S2Evar(a(4692)); S2Evar(tk(4693))
tmpsub = Some(a(4692) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)); tk(4693) -> S2Eextkind(atstype_int))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_add_gint__95__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret326__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp327__1, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp328__1, atstkind_t0ype(atstype_size)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1947(line=71, offs=1) -- 2012(line=72, offs=44)
*/
ATSINSflab(__patsflab_ptr0_add_gint):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1986(line=72, offs=18) -- 1998(line=72, offs=30)
*/
ATSINSmove(tmp328__1, atspre_g0int2uint_int_size(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1986(line=72, offs=18) -- 2011(line=72, offs=43)
*/
ATSINSmove(tmp327__1, atspre_g0uint_mul_size(tmp328__1, ATSPMVsizeof(atstkind_t0ype(atstype_int)))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1971(line=72, offs=3) -- 2012(line=72, offs=44)
*/
ATSINSmove(tmpret326__1, atspre_add_ptr0_bsz(arg0, tmp327__1)) ;

ATSfunbody_end()
ATSreturn(tmpret326__1) ;
} /* end of [ATSLIB_056_prelude__ptr0_add_gint__95__1] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1960(line=71, offs=14) -- 2012(line=72, offs=44)
*/
/*
local: 
global: ptr0_add_gint$95$2(level=5)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4692), tk(4693)
tmparg = S2Evar(a(4692)); S2Evar(tk(4693))
tmpsub = Some(a(4692) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)); tk(4693) -> S2Eextkind(atstype_int))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_add_gint__95__2(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret326__2, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp327__2, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp328__2, atstkind_t0ype(atstype_size)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1947(line=71, offs=1) -- 2012(line=72, offs=44)
*/
ATSINSflab(__patsflab_ptr0_add_gint):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1986(line=72, offs=18) -- 1998(line=72, offs=30)
*/
ATSINSmove(tmp328__2, atspre_g0int2uint_int_size(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1986(line=72, offs=18) -- 2011(line=72, offs=43)
*/
ATSINSmove(tmp327__2, atspre_g0uint_mul_size(tmp328__2, ATSPMVsizeof(atstkind_t0ype(atstype_int)))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1971(line=72, offs=3) -- 2012(line=72, offs=44)
*/
ATSINSmove(tmpret326__2, atspre_add_ptr0_bsz(arg0, tmp327__2)) ;

ATSfunbody_end()
ATSreturn(tmpret326__2) ;
} /* end of [ATSLIB_056_prelude__ptr0_add_gint__95__2] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1960(line=71, offs=14) -- 2012(line=72, offs=44)
*/
/*
local: 
global: ptr0_add_gint$95$3(level=5)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4692), tk(4693)
tmparg = S2Evar(a(4692)); S2Evar(tk(4693))
tmpsub = Some(a(4692) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)); tk(4693) -> S2Eextkind(atstype_int))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_add_gint__95__3(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret326__3, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp327__3, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp328__3, atstkind_t0ype(atstype_size)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1947(line=71, offs=1) -- 2012(line=72, offs=44)
*/
ATSINSflab(__patsflab_ptr0_add_gint):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1986(line=72, offs=18) -- 1998(line=72, offs=30)
*/
ATSINSmove(tmp328__3, atspre_g0int2uint_int_size(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1986(line=72, offs=18) -- 2011(line=72, offs=43)
*/
ATSINSmove(tmp327__3, atspre_g0uint_mul_size(tmp328__3, ATSPMVsizeof(atstkind_t0ype(atstype_int)))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1971(line=72, offs=3) -- 2012(line=72, offs=44)
*/
ATSINSmove(tmpret326__3, atspre_add_ptr0_bsz(arg0, tmp327__3)) ;

ATSfunbody_end()
ATSreturn(tmpret326__3) ;
} /* end of [ATSLIB_056_prelude__ptr0_add_gint__95__3] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1960(line=71, offs=14) -- 2012(line=72, offs=44)
*/
/*
local: 
global: ptr0_add_gint$95$4(level=5)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4692), tk(4693)
tmparg = S2Evar(a(4692)); S2Evar(tk(4693))
tmpsub = Some(a(4692) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)); tk(4693) -> S2Eextkind(atstype_int))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_add_gint__95__4(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret326__4, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp327__4, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp328__4, atstkind_t0ype(atstype_size)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1947(line=71, offs=1) -- 2012(line=72, offs=44)
*/
ATSINSflab(__patsflab_ptr0_add_gint):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1986(line=72, offs=18) -- 1998(line=72, offs=30)
*/
ATSINSmove(tmp328__4, atspre_g0int2uint_int_size(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1986(line=72, offs=18) -- 2011(line=72, offs=43)
*/
ATSINSmove(tmp327__4, atspre_g0uint_mul_size(tmp328__4, ATSPMVsizeof(atstkind_t0ype(atstype_int)))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1971(line=72, offs=3) -- 2012(line=72, offs=44)
*/
ATSINSmove(tmpret326__4, atspre_add_ptr0_bsz(arg0, tmp327__4)) ;

ATSfunbody_end()
ATSreturn(tmpret326__4) ;
} /* end of [ATSLIB_056_prelude__ptr0_add_gint__95__4] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3502(line=174, offs=3) -- 3684(line=185, offs=2)
*/
/*
local: 
global: DivideConquer$conquer$101$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__101(atstype_boxed arg0, atstype_boxed arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret341, atstype_boxed) ;
ATStmpdec(tmp342, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3478(line=173, offs=1) -- 3684(line=185, offs=2)
*/
ATSINSflab(__patsflab_DivideConquer__conquer):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3513(line=174, offs=14) -- 3684(line=185, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3536(line=178, offs=1) -- 3608(line=181, offs=2)
*/
ATSINSmove(tmp342, PMVtmpltcst(list0_map<S2Ecst(input_t0ype)><S2Ecst(output_t0ype)>)(arg1, ATSPMVcfunlab(-1, __patsfun_102__102, ()))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3640(line=183, offs=10) -- 3679(line=183, offs=49)
*/
ATSINSmove(tmpret341, PMVtmpltcst(DivideConquer$conquer$combine<>)(arg0, tmp342)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3513(line=174, offs=14) -- 3684(line=185, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret341) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__101] */
#endif // end of [TEMPLATE]

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3568(line=180, offs=3) -- 3606(line=180, offs=41)
*/
/*
local: 
global: __patsfun_102$0(level=1)
local: 
global: 
*/
ATSstatic()
atstype_boxed
__patsfun_102__102(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret343, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3568(line=180, offs=3) -- 3606(line=180, offs=41)
*/
ATSINSflab(__patsflab___patsfun_102):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3578(line=180, offs=13) -- 3605(line=180, offs=40)
*/
ATSINSmove(tmpret343, PMVtmpltcst(DivideConquer$solve_rec<>)(arg0)) ;

ATSfunbody_end()
ATSreturn(tmpret343) ;
} /* end of [__patsfun_102__102] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3502(line=174, offs=3) -- 3684(line=185, offs=2)
*/
/*
local: 
global: DivideConquer$conquer$101$1(level=4)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__101__1(atstype_boxed arg0, atstype_boxed arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret341__1, atstype_boxed) ;
ATStmpdec(tmp342__1, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3478(line=173, offs=1) -- 3684(line=185, offs=2)
*/
ATSINSflab(__patsflab_DivideConquer__conquer):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3513(line=174, offs=14) -- 3684(line=185, offs=2)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3536(line=178, offs=1) -- 3608(line=181, offs=2)
*/
ATSINSmove(tmp342__1, ATSLIB_056_libats_056_ML__list0_map__104__1(arg1, ATSPMVcfunlab(-1, __patsfun_102__102__1, ()))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3640(line=183, offs=10) -- 3679(line=183, offs=49)
*/
ATSINSmove(tmpret341__1, ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__combine__115__1(arg0, tmp342__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3513(line=174, offs=14) -- 3684(line=185, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret341__1) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__101__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats: 20837(line=1339, offs=10) -- 21014(line=1350, offs=4)
*/
/*
local: 
global: list0_map$104$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = a(9210), b(9211)
tmparg = S2Evar(a(9210)); S2Evar(b(9211))
tmpsub = None()
*/
atstype_boxed
ATSLIB_056_libats_056_ML__list0_map__104(atstype_boxed arg0, atstype_cloptr arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret346, atstype_boxed) ;
ATStmpdec(tmp349, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats({$PATSLIBATS}/ML/DATS/list0.dats): 20828(line=1339, offs=1) -- 21014(line=1350, offs=4)
*/
ATSINSflab(__patsflab_list0_map):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats({$PATSLIBATS}/ML/DATS/list0.dats): 20850(line=1339, offs=23) -- 21014(line=1350, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats({$PATSLIBATS}/ML/DATS/list0.dats): 20947(line=1346, offs=10) -- 20978(line=1346, offs=41)
*/
ATSINSmove(tmp349, PMVtmpltcst(list_map<S2Evar(a(9210))><S2Evar(b(9211))>)(ATSPMVcastfn(g1ofg0_list, atstype_boxed, arg0))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats({$PATSLIBATS}/ML/DATS/list0.dats): 20987(line=1349, offs=3) -- 21009(line=1349, offs=25)
*/
ATSINSmove(tmpret346, ATSPMVcastfn(list0_of_list_vt, atstype_boxed, tmp349)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats({$PATSLIBATS}/ML/DATS/list0.dats): 20850(line=1339, offs=23) -- 21014(line=1350, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret346) ;
} /* end of [ATSLIB_056_libats_056_ML__list0_map__104] */
#endif // end of [TEMPLATE]

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats: 20889(line=1343, offs=14) -- 20934(line=1344, offs=40)
*/
/*
local: 
global: list_map$fopr$105$0(level=1)
local: fopr$4843(1)(HSEfun(CLO(-1); HSEtyvar(a(9210)); HSEtyvar(b(9211))))
global: fopr$4843(1)(HSEfun(CLO(-1); HSEtyvar(a(9210)); HSEtyvar(b(9211))))
*/
ATSextern()
/*
imparg = a2(9212), b2(9213)
tmparg = S2Evar(a2(9212)); S2Evar(b2(9213))
tmpsub = None()
*/
atstyvar_type(b2)
ATSLIB_056_prelude__list_map__fopr__105(atstype_cloptr env0, atstyvar_type(a2) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret347, atstyvar_type(b2)) ;
ATStmpdec(tmp348, atstyvar_type(b)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats({$PATSLIBATS}/ML/DATS/list0.dats): 20876(line=1343, offs=1) -- 20934(line=1344, offs=40)
*/
ATSINSflab(__patsflab_list_map__fopr):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats({$PATSLIBATS}/ML/DATS/list0.dats): 20913(line=1344, offs=19) -- 20933(line=1344, offs=39)
*/
ATSINSmove(tmp348, ATSfunclo_clo(env0, (atstype_cloptr, atstyvar_type(a)), atstyvar_type(b))(env0, ATSPMVcastfn(cast, atstyvar_type(a), arg0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats({$PATSLIBATS}/ML/DATS/list0.dats): 20895(line=1344, offs=1) -- 20934(line=1344, offs=40)
*/
ATSINSmove(tmpret347, ATSPMVcastfn(castvwtp0, atstyvar_type(b2), tmp348)) ;
ATSfunbody_end()
ATSreturn(tmpret347) ;
} /* end of [ATSLIB_056_prelude__list_map__fopr__105] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats: 20837(line=1339, offs=10) -- 21014(line=1350, offs=4)
*/
/*
local: 
global: list0_map$104$1(level=5)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(9210), b(9211)
tmparg = S2Evar(a(9210)); S2Evar(b(9211))
tmpsub = Some(a(9210) -> S2Ecst(input_t0ype); b(9211) -> S2Ecst(output_t0ype))
*/
atstype_boxed
ATSLIB_056_libats_056_ML__list0_map__104__1(atstype_boxed arg0, atstype_cloptr arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret346__1, atstype_boxed) ;
ATStmpdec(tmp349__1, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats({$PATSLIBATS}/ML/DATS/list0.dats): 20828(line=1339, offs=1) -- 21014(line=1350, offs=4)
*/
ATSINSflab(__patsflab_list0_map):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats({$PATSLIBATS}/ML/DATS/list0.dats): 20850(line=1339, offs=23) -- 21014(line=1350, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats({$PATSLIBATS}/ML/DATS/list0.dats): 20947(line=1346, offs=10) -- 20978(line=1346, offs=41)
*/
ATSINSmove(tmp349__1, ATSLIB_056_prelude__list_map__107__1(arg1, ATSPMVcastfn(g1ofg0_list, atstype_boxed, arg0))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats({$PATSLIBATS}/ML/DATS/list0.dats): 20987(line=1349, offs=3) -- 21009(line=1349, offs=25)
*/
ATSINSmove(tmpret346__1, ATSPMVcastfn(list0_of_list_vt, atstype_boxed, tmp349__1)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats({$PATSLIBATS}/ML/DATS/list0.dats): 20850(line=1339, offs=23) -- 21014(line=1350, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret346__1) ;
} /* end of [ATSLIB_056_libats_056_ML__list0_map__104__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats: 25725(line=1508, offs=12) -- 26321(line=1538, offs=4)
*/
/*
local: 
global: list_map$107$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = x(6198), y(6199)
tmparg = S2Evar(x(6198)); S2Evar(y(6199))
tmpsub = None()
*/
atstype_boxed
ATSLIB_056_prelude__list_map__107(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret352, atstype_boxed) ;
ATStmpdec(tmpref360, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp361) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25714(line=1508, offs=1) -- 26321(line=1538, offs=4)
*/
ATSINSflab(__patsflab_list_map):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25732(line=1508, offs=19) -- 26321(line=1538, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 26254(line=1533, offs=5) -- 26257(line=1533, offs=8)
*/
/*
ATSINStmpdec(tmpref360) ;
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 26272(line=1534, offs=10) -- 26286(line=1534, offs=24)
*/
ATSINSmove_void(tmp361, ATSfunclo_fun(PMVd2vfunlab(d2v=loop$1814(1), flab=loop_108$0(level=1)), (atstype_boxed, atsrefarg1_type(atstkind_type(atstype_ptrk))), atsvoid_t0ype)(arg0, ATSPMVrefarg1(ATSPMVptrof(tmpref360)))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 26295(line=1537, offs=3) -- 26298(line=1537, offs=6)
*/
ATSINSmove(tmpret352, tmpref360) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25732(line=1508, offs=19) -- 26321(line=1538, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret352) ;
} /* end of [ATSLIB_056_prelude__list_map__107] */
#endif // end of [TEMPLATE]

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats: 25777(line=1512, offs=5) -- 26229(line=1531, offs=2)
*/
/*
local: loop_108$0(level=1)
global: loop_108$0(level=1)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
loop_108__108(atstype_boxed arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstype_boxed) ;
ATStmpdec(apy1, atsrefarg1_type(atstkind_type(atstype_ptrk))) ;
// ATStmpdec_void(tmpret353) ;
ATStmpdec(tmp354, atstyvar_type(x)) ;
ATStmpdec(tmp355, atstype_boxed) ;
ATStmpdec(tmp356, atstyvar_type(y)) ;
ATStmpdec(tmp357, atstype_datcontyp) ;
ATStmpdec(tmp358, atstype_datcontyp) ;
ATStmpdec(tmp359, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25777(line=1512, offs=5) -- 26229(line=1531, offs=2)
*/
ATSINSflab(__patsflab_loop_108):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25864(line=1517, offs=3) -- 26227(line=1530, offs=40)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25880(line=1518, offs=5) -- 25897(line=1518, offs=22)
*/
ATSINSlab(__atstmplab16):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25802(line=1514, offs=3) -- 25804(line=1514, offs=5)
*/
ATSifthen(ATSCKptrisnull(arg0)) { ATSINSgoto(__atstmplab19) ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25897(line=1518, offs=22) -- 25897(line=1518, offs=22)
*/
ATSINSlab(__atstmplab17):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25891(line=1518, offs=16) -- 25892(line=1518, offs=17)
*/
ATSINSmove(tmp354, ATSSELcon(arg0, postiats_tysum_3, atslab__0)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25894(line=1518, offs=19) -- 25896(line=1518, offs=21)
*/
ATSINSmove(tmp355, ATSSELcon(arg0, postiats_tysum_3, atslab__1)) ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25901(line=1518, offs=26) -- 26165(line=1529, offs=8)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25927(line=1520, offs=9) -- 25949(line=1520, offs=31)
*/
ATSINSmove(tmp356, PMVtmpltcst(list_map$fopr<S2Evar(x(6198))><S2Evar(y(6199))>)(tmp354)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25981(line=1522, offs=9) -- 26010(line=1522, offs=38)
*/

/*
#LINCONSTATUS==0
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmp357, postiats_tysum_4) ;
#if(0)
ATSINSstore_con1_tag(tmp357, 1) ;
#endif
ATSINSstore_con1_ofs(tmp357, postiats_tysum_4, atslab__0, tmp356) ;
#if(0)
ATSINSstore_con1_ofs(tmp357, postiats_tysum_4, atslab__1, ATSPMVtop()) ;
#endif
ATSINSmove_con1_end()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25966(line=1521, offs=16) -- 26010(line=1522, offs=38)
*/
ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp357) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 26054(line=1524, offs=21) -- 26057(line=1524, offs=24)
*/
ATSINSmove(tmp358, ATSderef(arg1, atstype_datcontyp)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 26021(line=1523, offs=11) -- 26051(line=1524, offs=18)
*/
#if(0)
ATSifthen(ATSCKptrisnull(tmp358)) { ATSINSdeadcode_fail() ; } ;
#endif
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 26089(line=1525, offs=16) -- 26104(line=1525, offs=31)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, tmp355) ;
ATSINSmove_tlcal(apy1, ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp358, postiats_tysum_5, atslab__1)))) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSfgoto(__patsflab_loop_108) ;
ATStailcal_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25901(line=1518, offs=26) -- 26165(line=1529, offs=8)
*/
/*
INSletpop()
*/
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 26192(line=1530, offs=5) -- 26203(line=1530, offs=16)
*/
ATSINSlab(__atstmplab18):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25802(line=1514, offs=3) -- 25804(line=1514, offs=5)
*/
#if(0)
ATSifthen(ATSCKptriscons(arg0)) { ATSINSdeadcode_fail() ; } ;
#endif
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 26203(line=1530, offs=16) -- 26203(line=1530, offs=16)
*/
ATSINSlab(__atstmplab19):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 26215(line=1530, offs=28) -- 26226(line=1530, offs=39)
*/

ATSINSmove_nil(tmp359) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 26208(line=1530, offs=21) -- 26226(line=1530, offs=39)
*/
ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp359) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 26208(line=1530, offs=21) -- 26226(line=1530, offs=39)
*/
ATSINSmove_void(tmpret353, ATSPMVempty()) ;
ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

ATSfunbody_end()
ATSreturn_void(tmpret353) ;
} /* end of [loop_108__108] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats: 25725(line=1508, offs=12) -- 26321(line=1538, offs=4)
*/
/*
local: 
global: list_map$107$1(level=6)
local: fopr$4843(1)(HSEfun(CLO(-1); HSEs2exp(S2Ecst(input_t0ype)); HSEs2exp(S2Ecst(output_t0ype))))
global: fopr$4843(1)(HSEfun(CLO(-1); HSEs2exp(S2Ecst(input_t0ype)); HSEs2exp(S2Ecst(output_t0ype))))
*/
ATSstatic()
/*
imparg = x(6198), y(6199)
tmparg = S2Evar(x(6198)); S2Evar(y(6199))
tmpsub = Some(x(6198) -> S2Ecst(input_t0ype); y(6199) -> S2Ecst(output_t0ype))
*/
atstype_boxed
ATSLIB_056_prelude__list_map__107__1(atstype_cloptr env0, atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret352__1, atstype_boxed) ;
ATStmpdec(tmpref360__1, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp361__1) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25714(line=1508, offs=1) -- 26321(line=1538, offs=4)
*/
ATSINSflab(__patsflab_list_map):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25732(line=1508, offs=19) -- 26321(line=1538, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 26254(line=1533, offs=5) -- 26257(line=1533, offs=8)
*/
/*
ATSINStmpdec(tmpref360) ;
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 26272(line=1534, offs=10) -- 26286(line=1534, offs=24)
*/
ATSINSmove_void(tmp361__1, loop_108__108__1(env0, arg0, ATSPMVrefarg1(ATSPMVptrof(tmpref360__1)))) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 26295(line=1537, offs=3) -- 26298(line=1537, offs=6)
*/
ATSINSmove(tmpret352__1, tmpref360__1) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25732(line=1508, offs=19) -- 26321(line=1538, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret352__1) ;
} /* end of [ATSLIB_056_prelude__list_map__107__1] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats: 25777(line=1512, offs=5) -- 26229(line=1531, offs=2)
*/
/*
local: loop_108$1(level=7)
global: loop_108$1(level=7)
local: fopr$4843(1)(HSEfun(CLO(-1); HSEs2exp(S2Ecst(input_t0ype)); HSEs2exp(S2Ecst(output_t0ype))))
global: fopr$4843(1)(HSEfun(CLO(-1); HSEs2exp(S2Ecst(input_t0ype)); HSEs2exp(S2Ecst(output_t0ype))))
*/
ATSstatic()
atsvoid_t0ype
loop_108__108__1(atstype_cloptr env0, atstype_boxed arg0, atsrefarg1_type(atstkind_type(atstype_ptrk)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstype_boxed) ;
ATStmpdec(apy1, atsrefarg1_type(atstkind_type(atstype_ptrk))) ;
// ATStmpdec_void(tmpret353__1) ;
ATStmpdec(tmp354__1, atstype_boxed) ;
ATStmpdec(tmp355__1, atstype_boxed) ;
ATStmpdec(tmp356__1, atstype_boxed) ;
ATStmpdec(tmp357__1, atstype_datcontyp) ;
ATStmpdec(tmp358__1, atstype_datcontyp) ;
ATStmpdec(tmp359__1, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25777(line=1512, offs=5) -- 26229(line=1531, offs=2)
*/
ATSINSflab(__patsflab_loop_108):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25864(line=1517, offs=3) -- 26227(line=1530, offs=40)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25880(line=1518, offs=5) -- 25897(line=1518, offs=22)
*/
ATSINSlab(__atstmplab16):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25802(line=1514, offs=3) -- 25804(line=1514, offs=5)
*/
ATSifthen(ATSCKptrisnull(arg0)) { ATSINSgoto(__atstmplab19) ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25897(line=1518, offs=22) -- 25897(line=1518, offs=22)
*/
ATSINSlab(__atstmplab17):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25891(line=1518, offs=16) -- 25892(line=1518, offs=17)
*/
ATSINSmove(tmp354__1, ATSSELcon(arg0, postiats_tysum_2, atslab__0)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25894(line=1518, offs=19) -- 25896(line=1518, offs=21)
*/
ATSINSmove(tmp355__1, ATSSELcon(arg0, postiats_tysum_2, atslab__1)) ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25901(line=1518, offs=26) -- 26165(line=1529, offs=8)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25927(line=1520, offs=9) -- 25949(line=1520, offs=31)
*/
ATSINSmove(tmp356__1, ATSLIB_056_prelude__list_map__fopr__105__1(env0, tmp354__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25981(line=1522, offs=9) -- 26010(line=1522, offs=38)
*/

/*
#LINCONSTATUS==0
*/
ATSINSmove_con1_beg()
ATSINSmove_con1_new(tmp357__1, postiats_tysum_2) ;
#if(0)
ATSINSstore_con1_tag(tmp357__1, 1) ;
#endif
ATSINSstore_con1_ofs(tmp357__1, postiats_tysum_2, atslab__0, tmp356__1) ;
#if(0)
ATSINSstore_con1_ofs(tmp357__1, postiats_tysum_2, atslab__1, ATSPMVtop()) ;
#endif
ATSINSmove_con1_end()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25966(line=1521, offs=16) -- 26010(line=1522, offs=38)
*/
ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp357__1) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 26054(line=1524, offs=21) -- 26057(line=1524, offs=24)
*/
ATSINSmove(tmp358__1, ATSderef(arg1, atstype_datcontyp)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 26021(line=1523, offs=11) -- 26051(line=1524, offs=18)
*/
#if(0)
ATSifthen(ATSCKptrisnull(tmp358__1)) { ATSINSdeadcode_fail() ; } ;
#endif
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 26089(line=1525, offs=16) -- 26104(line=1525, offs=31)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, tmp355__1) ;
ATSINSmove_tlcal(apy1, ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp358__1, postiats_tysum_6, atslab__1)))) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSfgoto(__patsflab_loop_108) ;
ATStailcal_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25901(line=1518, offs=26) -- 26165(line=1529, offs=8)
*/
/*
INSletpop()
*/
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 26192(line=1530, offs=5) -- 26203(line=1530, offs=16)
*/
ATSINSlab(__atstmplab18):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 25802(line=1514, offs=3) -- 25804(line=1514, offs=5)
*/
#if(0)
ATSifthen(ATSCKptriscons(arg0)) { ATSINSdeadcode_fail() ; } ;
#endif
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 26203(line=1530, offs=16) -- 26203(line=1530, offs=16)
*/
ATSINSlab(__atstmplab19):
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 26215(line=1530, offs=28) -- 26226(line=1530, offs=39)
*/

ATSINSmove_nil(tmp359__1) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 26208(line=1530, offs=21) -- 26226(line=1530, offs=39)
*/
ATSINSstore(ATSderef(arg1, atstkind_type(atstype_ptrk)), tmp359__1) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats({$PATSPRE}/DATS/list.dats): 26208(line=1530, offs=21) -- 26226(line=1530, offs=39)
*/
ATSINSmove_void(tmpret353__1, ATSPMVempty()) ;
ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

ATSfunbody_end()
ATSreturn_void(tmpret353__1) ;
} /* end of [loop_108__108__1] */

/*
/home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats: 20889(line=1343, offs=14) -- 20934(line=1344, offs=40)
*/
/*
local: 
global: list_map$fopr$105$1(level=8)
local: fopr$4843(1)(HSEfun(CLO(-1); HSEs2exp(S2Ecst(input_t0ype)); HSEs2exp(S2Ecst(output_t0ype))))
global: fopr$4843(1)(HSEfun(CLO(-1); HSEs2exp(S2Ecst(input_t0ype)); HSEs2exp(S2Ecst(output_t0ype))))
*/
ATSstatic()
/*
imparg = a2(9212), b2(9213)
tmparg = S2Evar(a2(9212)); S2Evar(b2(9213))
tmpsub = Some(a(9210) -> S2Ecst(input_t0ype); b(9211) -> S2Ecst(output_t0ype); a2(9212) -> S2Ecst(input_t0ype); b2(9213) -> S2Ecst(output_t0ype))
*/
atstype_boxed
ATSLIB_056_prelude__list_map__fopr__105__1(atstype_cloptr env0, atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret347__1, atstype_boxed) ;
ATStmpdec(tmp348__1, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats({$PATSLIBATS}/ML/DATS/list0.dats): 20876(line=1343, offs=1) -- 20934(line=1344, offs=40)
*/
ATSINSflab(__patsflab_list_map__fopr):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats({$PATSLIBATS}/ML/DATS/list0.dats): 20913(line=1344, offs=19) -- 20933(line=1344, offs=39)
*/
ATSINSmove(tmp348__1, ATSfunclo_clo(env0, (atstype_cloptr, atstype_boxed), atstype_boxed)(env0, ATSPMVcastfn(cast, atstype_boxed, arg0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/ML/DATS/list0.dats({$PATSLIBATS}/ML/DATS/list0.dats): 20895(line=1344, offs=1) -- 20934(line=1344, offs=40)
*/
ATSINSmove(tmpret347__1, ATSPMVcastfn(castvwtp0, atstype_boxed, tmp348__1)) ;
ATSfunbody_end()
ATSreturn(tmpret347__1) ;
} /* end of [ATSLIB_056_prelude__list_map__fopr__105__1] */

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3568(line=180, offs=3) -- 3606(line=180, offs=41)
*/
/*
local: 
global: __patsfun_102$1(level=5)
local: 
global: 
*/
ATSstatic()
atstype_boxed
__patsfun_102__102__1(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret343__1, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3568(line=180, offs=3) -- 3606(line=180, offs=41)
*/
ATSINSflab(__patsflab___patsfun_102):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3578(line=180, offs=13) -- 3605(line=180, offs=40)
*/
ATSINSmove(tmpret343__1, ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve_rec__113__1(arg0)) ;

ATSfunbody_end()
ATSreturn(tmpret343__1) ;
} /* end of [__patsfun_102__102__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2816(line=129, offs=3) -- 2847(line=129, offs=34)
*/
/*
local: 
global: DivideConquer$solve_rec$113$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve_rec__113(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret375, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2790(line=128, offs=1) -- 2848(line=129, offs=35)
*/
ATSINSflab(__patsflab_DivideConquer__solve_rec):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2823(line=129, offs=10) -- 2847(line=129, offs=34)
*/
ATSINSmove(tmpret375, PMVtmpltcst(DivideConquer$solve<>)(arg0)) ;

ATSfunbody_end()
ATSreturn(tmpret375) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve_rec__113] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2816(line=129, offs=3) -- 2847(line=129, offs=34)
*/
/*
local: 
global: DivideConquer$solve_rec$113$1(level=6)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve_rec__113__1(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret375__1, atstype_boxed) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2790(line=128, offs=1) -- 2848(line=129, offs=35)
*/
ATSINSflab(__patsflab_DivideConquer__solve_rec):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 2823(line=129, offs=10) -- 2847(line=129, offs=34)
*/
ATSINSmove(tmpret375__1, ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__10__1(arg0)) ;

ATSfunbody_end()
ATSreturn(tmpret375__1) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve_rec__113__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4060(line=209, offs=3) -- 6308(line=350, offs=4)
*/
/*
local: 
global: DivideConquer$conquer$combine$115$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__combine__115(atstype_boxed arg0, atstype_boxed arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret377, atstype_boxed) ;
ATStmpdec(tmp413, atstype_boxed) ;
ATStmpdec(tmp414, atstype_boxed) ;
ATStmpdec(tmp415, atstype_boxed) ;
ATStmpdec(tmp417, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp421, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp422, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp423, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp424, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp425, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp426) ;
ATStmpdec(tmp427, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp428, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp429, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp430, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp431) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4022(line=208, offs=1) -- 6308(line=350, offs=4)
*/
ATSINSflab(__patsflab_DivideConquer__conquer__combine):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4075(line=209, offs=18) -- 6308(line=350, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5923(line=331, offs=5) -- 5945(line=331, offs=27)
*/
ATSifthen(ATSCKptrisnull(arg1)) { ATSINScaseof_fail("/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5923(line=331, offs=5) -- 5952(line=331, offs=34)") ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5934(line=331, offs=16) -- 5938(line=331, offs=20)
*/
ATSINSmove(tmp413, ATSSELcon(arg1, postiats_tysum_2, atslab__0)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5940(line=331, offs=22) -- 5944(line=331, offs=26)
*/
ATSINSmove(tmp414, ATSSELcon(arg1, postiats_tysum_2, atslab__1)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5957(line=332, offs=5) -- 5979(line=332, offs=27)
*/
ATSifthen(ATSCKptrisnull(tmp414)) { ATSINScaseof_fail("/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5957(line=332, offs=5) -- 5986(line=332, offs=34)") ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5968(line=332, offs=16) -- 5972(line=332, offs=20)
*/
ATSINSmove(tmp415, ATSSELcon(tmp414, postiats_tysum_2, atslab__0)) ;
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5996(line=336, offs=1) -- 6301(line=348, offs=4)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6012(line=337, offs=3) -- 6027(line=337, offs=18)
*/
ATSINSlab(__atstmplab20):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4061(line=209, offs=4) -- 4065(line=209, offs=8)
*/
ATSifnthen(ATSCKpat_con1(arg0, 0)) { ATSINSgoto(__atstmplab23) ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6027(line=337, offs=18) -- 6027(line=337, offs=18)
*/
ATSINSlab(__atstmplab21):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6022(line=337, offs=13) -- 6023(line=337, offs=14)
*/
ATSINSmove(tmp417, ATSSELcon(arg0, postiats_tysum_0, atslab__1)) ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6031(line=337, offs=22) -- 6155(line=342, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6054(line=339, offs=9) -- 6072(line=339, offs=27)
*/
ATSifnthen(ATSCKpat_con1(tmp413, 1)) { ATSINScaseof_fail("/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6054(line=339, offs=9) -- 6079(line=339, offs=34)") ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6061(line=339, offs=16) -- 6063(line=339, offs=18)
*/
ATSINSmove(tmp422, ATSSELcon(tmp413, postiats_tysum_0, atslab__0)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6069(line=339, offs=24) -- 6071(line=339, offs=26)
*/
ATSINSmove(tmp423, ATSSELcon(tmp413, postiats_tysum_0, atslab__2)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6088(line=340, offs=9) -- 6106(line=340, offs=27)
*/
ATSifnthen(ATSCKpat_con1(tmp415, 1)) { ATSINScaseof_fail("/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6088(line=340, offs=9) -- 6113(line=340, offs=34)") ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6095(line=340, offs=16) -- 6097(line=340, offs=18)
*/
ATSINSmove(tmp424, ATSSELcon(tmp415, postiats_tysum_0, atslab__0)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6103(line=340, offs=24) -- 6105(line=340, offs=26)
*/
ATSINSmove(tmp425, ATSSELcon(tmp415, postiats_tysum_0, atslab__2)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6127(line=341, offs=14) -- 6151(line=341, offs=38)
*/
ATSINSmove_void(tmp426, ATSfunclo_fun(PMVd2vfunlab(d2v=merge$7490(1), flab=merge_117$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)), atsvoid_t0ype)(tmp423, tmp425, tmp417, tmp422, tmp424)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6031(line=337, offs=22) -- 6035(line=337, offs=26)
*/
ATSINSmove(tmpret377, arg0) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6031(line=337, offs=22) -- 6155(line=342, offs=4)
*/
/*
INSletpop()
*/
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6158(line=343, offs=3) -- 6173(line=343, offs=18)
*/
ATSINSlab(__atstmplab22):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4061(line=209, offs=4) -- 4065(line=209, offs=8)
*/
#if(0)
ATSifnthen(ATSCKpat_con1(arg0, 1)) { ATSINSdeadcode_fail() ; } ;
#endif
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6173(line=343, offs=18) -- 6173(line=343, offs=18)
*/
ATSINSlab(__atstmplab23):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6171(line=343, offs=16) -- 6172(line=343, offs=17)
*/
ATSINSmove(tmp421, ATSSELcon(arg0, postiats_tysum_0, atslab__2)) ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6177(line=343, offs=22) -- 6301(line=348, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6200(line=345, offs=9) -- 6218(line=345, offs=27)
*/
ATSifnthen(ATSCKpat_con1(tmp413, 0)) { ATSINScaseof_fail("/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6200(line=345, offs=9) -- 6225(line=345, offs=34)") ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6207(line=345, offs=16) -- 6209(line=345, offs=18)
*/
ATSINSmove(tmp427, ATSSELcon(tmp413, postiats_tysum_0, atslab__0)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6211(line=345, offs=20) -- 6213(line=345, offs=22)
*/
ATSINSmove(tmp428, ATSSELcon(tmp413, postiats_tysum_0, atslab__1)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6234(line=346, offs=9) -- 6252(line=346, offs=27)
*/
ATSifnthen(ATSCKpat_con1(tmp415, 0)) { ATSINScaseof_fail("/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6234(line=346, offs=9) -- 6259(line=346, offs=34)") ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6241(line=346, offs=16) -- 6243(line=346, offs=18)
*/
ATSINSmove(tmp429, ATSSELcon(tmp415, postiats_tysum_0, atslab__0)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6245(line=346, offs=20) -- 6247(line=346, offs=22)
*/
ATSINSmove(tmp430, ATSSELcon(tmp415, postiats_tysum_0, atslab__1)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6273(line=347, offs=14) -- 6297(line=347, offs=38)
*/
ATSINSmove_void(tmp431, ATSfunclo_fun(PMVd2vfunlab(d2v=merge$7490(1), flab=merge_117$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)), atsvoid_t0ype)(tmp428, tmp430, tmp421, tmp427, tmp429)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6177(line=343, offs=22) -- 6181(line=343, offs=26)
*/
ATSINSmove(tmpret377, arg0) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6177(line=343, offs=22) -- 6301(line=348, offs=4)
*/
/*
INSletpop()
*/
ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4075(line=209, offs=18) -- 6308(line=350, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret377) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__combine__115] */
#endif // end of [TEMPLATE]

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4086(line=212, offs=1) -- 4271(line=228, offs=4)
*/
/*
local: 
global: copy_116$0(level=1)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
copy_116__116(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_t0ype(atstype_int) arg2)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret378) ;
ATStmpdec(tmp379, atstkind_t0ype(atstype_size)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4086(line=212, offs=1) -- 4271(line=228, offs=4)
*/
ATSINSflab(__patsflab_copy_116):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4233(line=225, offs=32) -- 4246(line=225, offs=45)
*/
ATSINSmove(tmp379, PMVtmpltcst(mul_int1_size1<>)(arg2, ATSPMVsizeof(atstkind_t0ype(atstype_int)))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4185(line=223, offs=1) -- 4248(line=226, offs=2)
*/
ATSINSmove_void(tmpret378, ATSextfcall(atspre_array_memcpy, (arg1, arg0, tmp379))) ;
ATSfunbody_end()
ATSreturn_void(tmpret378) ;
} /* end of [copy_116__116] */
#endif // end of [TEMPLATE]

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4299(line=231, offs=1) -- 4578(line=248, offs=2)
*/
/*
local: copy_116$0(level=1), merge1_118$0(level=1)
global: copy_116$0(level=1), merge_117$0(level=1), merge1_118$0(level=1), merge2_119$0(level=1)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
merge_117__117(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_type(atstype_ptrk) arg2, atstkind_t0ype(atstype_int) arg3, atstkind_t0ype(atstype_int) arg4)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret380) ;
ATStmpdec(tmp381, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp382, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp383, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp384, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4299(line=231, offs=1) -- 4578(line=248, offs=2)
*/
ATSINSflab(__patsflab_merge_117):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4397(line=238, offs=2) -- 4403(line=238, offs=8)
*/
ATSINSmove(tmp381, PMVtmpltcst(eq_g1int_int<S2Eextkind(atstype_int)>)(arg3, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4393(line=237, offs=1) -- 4559(line=247, offs=4)
*/
ATSif(
tmp381
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4410(line=239, offs=6) -- 4425(line=239, offs=21)
*/
ATSINSmove_void(tmpret380, ATSfunclo_fun(PMVd2vfunlab(d2v=copy$7486(1), flab=copy_116$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)), atsvoid_t0ype)(arg1, arg2, arg4)) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4431(line=240, offs=6) -- 4559(line=247, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4450(line=242, offs=5) -- 4470(line=242, offs=25)
*/
ATSINSmove(tmp382, PMVtmpltcst(ptr0_get<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(arg0)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4501(line=244, offs=12) -- 4517(line=244, offs=28)
*/
ATSINSmove(tmp383, PMVtmpltcst(ptr0_succ<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4546(line=246, offs=25) -- 4550(line=246, offs=29)
*/
ATSINSmove(tmp384, PMVtmpltcst(g1int_sub<S2Eextkind(atstype_int)>)(arg3, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4524(line=246, offs=3) -- 4555(line=246, offs=34)
*/
ATSINSmove_void(tmpret380, ATSfunclo_fun(PMVd2vfunlab(d2v=merge1$7491(1), flab=merge1_118$0(level=1)), (atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)), atsvoid_t0ype)(tmp382, tmp383, arg1, arg2, tmp384, arg4)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4431(line=240, offs=6) -- 4559(line=247, offs=4)
*/
/*
INSletpop()
*/
} /* ATSendif */
ATSfunbody_end()
ATSreturn_void(tmpret380) ;
} /* end of [merge_117__117] */
#endif // end of [TEMPLATE]

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4583(line=250, offs=1) -- 5223(line=288, offs=2)
*/
/*
local: copy_116$0(level=1), merge1_118$0(level=1), merge2_119$0(level=1)
global: copy_116$0(level=1), merge1_118$0(level=1), merge2_119$0(level=1)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
merge1_118__118(atstkind_t0ype(atstype_int) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_type(atstype_ptrk) arg2, atstkind_type(atstype_ptrk) arg3, atstkind_t0ype(atstype_int) arg4, atstkind_t0ype(atstype_int) arg5)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
ATStmpdec(apy1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy2, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy3, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy4, atstkind_t0ype(atstype_int)) ;
ATStmpdec(apy5, atstkind_t0ype(atstype_int)) ;
// ATStmpdec_void(tmpret385) ;
ATStmpdec(tmp386, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp387) ;
ATStmpdec(tmp388, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp389, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp390, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp391, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp392, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp393) ;
ATStmpdec(tmp394, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp395, atstkind_t0ype(atstype_int)) ;
// ATStmpdec_void(tmp396) ;
ATStmpdec(tmp397, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp398, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4583(line=250, offs=1) -- 5223(line=288, offs=2)
*/
ATSINSflab(__patsflab_merge1_118):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4691(line=257, offs=2) -- 4697(line=257, offs=8)
*/
ATSINSmove(tmp386, PMVtmpltcst(eq_g1int_int<S2Eextkind(atstype_int)>)(arg5, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4687(line=256, offs=1) -- 5204(line=287, offs=4)
*/
ATSif(
tmp386
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4704(line=258, offs=6) -- 4785(line=263, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4721(line=260, offs=3) -- 4745(line=260, offs=27)
*/
ATSINSmove_void(tmp387, PMVtmpltcst(ptr0_set<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(arg3, arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4760(line=262, offs=12) -- 4775(line=262, offs=27)
*/
ATSINSmove(tmp388, PMVtmpltcst(ptr0_succ<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4751(line=262, offs=3) -- 4781(line=262, offs=33)
*/
ATSINSmove_void(tmpret385, ATSfunclo_fun(PMVd2vfunlab(d2v=copy$7486(1), flab=copy_116$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)), atsvoid_t0ype)(arg1, tmp388, arg4)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4704(line=258, offs=6) -- 4785(line=263, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4808(line=264, offs=6) -- 5204(line=287, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4827(line=266, offs=5) -- 4847(line=266, offs=25)
*/
ATSINSmove(tmp389, PMVtmpltcst(ptr0_get<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4878(line=268, offs=12) -- 4894(line=268, offs=28)
*/
ATSINSmove(tmp390, PMVtmpltcst(ptr0_succ<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4908(line=269, offs=13) -- 4937(line=269, offs=42)
*/
ATSINSmove(tmp391, PMVtmpltcst(gcompare_val_val<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(arg0, tmp389)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4948(line=273, offs=2) -- 4956(line=273, offs=10)
*/
ATSINSmove(tmp392, PMVtmpltcst(lte_g0int_int<S2Eextkind(atstype_int)>)(tmp391, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4944(line=272, offs=1) -- 5180(line=285, offs=4)
*/
ATSif(
tmp392
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4963(line=274, offs=6) -- 5060(line=279, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4980(line=276, offs=3) -- 5004(line=276, offs=27)
*/
ATSINSmove_void(tmp393, PMVtmpltcst(ptr0_set<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(arg3, arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5029(line=278, offs=22) -- 5044(line=278, offs=37)
*/
ATSINSmove(tmp394, PMVtmpltcst(ptr0_succ<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5051(line=278, offs=44) -- 5055(line=278, offs=48)
*/
ATSINSmove(tmp395, PMVtmpltcst(g1int_sub<S2Eextkind(atstype_int)>)(arg5, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5010(line=278, offs=3) -- 5056(line=278, offs=49)
*/
ATSINSmove_void(tmpret385, ATSfunclo_fun(PMVd2vfunlab(d2v=merge2$7492(1), flab=merge2_119$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)), atsvoid_t0ype)(arg1, tmp389, tmp390, tmp394, arg4, tmp395)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4963(line=274, offs=6) -- 5060(line=279, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5083(line=280, offs=6) -- 5180(line=285, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5100(line=282, offs=3) -- 5124(line=282, offs=27)
*/
ATSINSmove_void(tmp396, PMVtmpltcst(ptr0_set<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(arg3, tmp389)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5149(line=284, offs=22) -- 5164(line=284, offs=37)
*/
ATSINSmove(tmp397, PMVtmpltcst(ptr0_succ<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5171(line=284, offs=44) -- 5175(line=284, offs=48)
*/
ATSINSmove(tmp398, PMVtmpltcst(g1int_sub<S2Eextkind(atstype_int)>)(arg5, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5130(line=284, offs=3) -- 5176(line=284, offs=49)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg0) ;
ATSINSmove_tlcal(apy1, arg1) ;
ATSINSmove_tlcal(apy2, tmp390) ;
ATSINSmove_tlcal(apy3, tmp397) ;
ATSINSmove_tlcal(apy4, arg4) ;
ATSINSmove_tlcal(apy5, tmp398) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSargmove_tlcal(arg2, apy2) ;
ATSINSargmove_tlcal(arg3, apy3) ;
ATSINSargmove_tlcal(arg4, apy4) ;
ATSINSargmove_tlcal(arg5, apy5) ;
ATSINSfgoto(__patsflab_merge1_118) ;
ATStailcal_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5083(line=280, offs=6) -- 5180(line=285, offs=4)
*/
/*
INSletpop()
*/
} /* ATSendif */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4808(line=264, offs=6) -- 5204(line=287, offs=4)
*/
/*
INSletpop()
*/
} /* ATSendif */
ATSfunbody_end()
ATSreturn_void(tmpret385) ;
} /* end of [merge1_118__118] */
#endif // end of [TEMPLATE]

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5253(line=291, offs=1) -- 5893(line=329, offs=2)
*/
/*
local: copy_116$0(level=1), merge1_118$0(level=1), merge2_119$0(level=1)
global: copy_116$0(level=1), merge1_118$0(level=1), merge2_119$0(level=1)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
merge2_119__119(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1, atstkind_type(atstype_ptrk) arg2, atstkind_type(atstype_ptrk) arg3, atstkind_t0ype(atstype_int) arg4, atstkind_t0ype(atstype_int) arg5)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(apy2, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy3, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy4, atstkind_t0ype(atstype_int)) ;
ATStmpdec(apy5, atstkind_t0ype(atstype_int)) ;
// ATStmpdec_void(tmpret399) ;
ATStmpdec(tmp400, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp401) ;
ATStmpdec(tmp402, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp403, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp404, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp405, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp406, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp407) ;
ATStmpdec(tmp408, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp409, atstkind_t0ype(atstype_int)) ;
// ATStmpdec_void(tmp410) ;
ATStmpdec(tmp411, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp412, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5253(line=291, offs=1) -- 5893(line=329, offs=2)
*/
ATSINSflab(__patsflab_merge2_119):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5361(line=298, offs=2) -- 5367(line=298, offs=8)
*/
ATSINSmove(tmp400, PMVtmpltcst(eq_g1int_int<S2Eextkind(atstype_int)>)(arg4, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5357(line=297, offs=1) -- 5874(line=328, offs=4)
*/
ATSif(
tmp400
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5374(line=299, offs=6) -- 5455(line=304, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5391(line=301, offs=3) -- 5415(line=301, offs=27)
*/
ATSINSmove_void(tmp401, PMVtmpltcst(ptr0_set<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(arg3, arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5430(line=303, offs=12) -- 5445(line=303, offs=27)
*/
ATSINSmove(tmp402, PMVtmpltcst(ptr0_succ<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5421(line=303, offs=3) -- 5451(line=303, offs=33)
*/
ATSINSmove_void(tmpret399, ATSfunclo_fun(PMVd2vfunlab(d2v=copy$7486(1), flab=copy_116$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)), atsvoid_t0ype)(arg2, tmp402, arg5)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5374(line=299, offs=6) -- 5455(line=304, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5478(line=305, offs=6) -- 5874(line=328, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5497(line=307, offs=5) -- 5517(line=307, offs=25)
*/
ATSINSmove(tmp403, PMVtmpltcst(ptr0_get<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(arg0)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5548(line=309, offs=12) -- 5564(line=309, offs=28)
*/
ATSINSmove(tmp404, PMVtmpltcst(ptr0_succ<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(arg0)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5578(line=310, offs=13) -- 5607(line=310, offs=42)
*/
ATSINSmove(tmp405, PMVtmpltcst(gcompare_val_val<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(tmp403, arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5618(line=314, offs=2) -- 5626(line=314, offs=10)
*/
ATSINSmove(tmp406, PMVtmpltcst(lte_g0int_int<S2Eextkind(atstype_int)>)(tmp405, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5614(line=313, offs=1) -- 5850(line=326, offs=4)
*/
ATSif(
tmp406
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5633(line=315, offs=6) -- 5730(line=320, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5650(line=317, offs=3) -- 5674(line=317, offs=27)
*/
ATSINSmove_void(tmp407, PMVtmpltcst(ptr0_set<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(arg3, tmp403)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5699(line=319, offs=22) -- 5714(line=319, offs=37)
*/
ATSINSmove(tmp408, PMVtmpltcst(ptr0_succ<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5717(line=319, offs=40) -- 5721(line=319, offs=44)
*/
ATSINSmove(tmp409, PMVtmpltcst(g1int_sub<S2Eextkind(atstype_int)>)(arg4, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5680(line=319, offs=3) -- 5726(line=319, offs=49)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, tmp404) ;
ATSINSmove_tlcal(apy1, arg1) ;
ATSINSmove_tlcal(apy2, arg2) ;
ATSINSmove_tlcal(apy3, tmp408) ;
ATSINSmove_tlcal(apy4, tmp409) ;
ATSINSmove_tlcal(apy5, arg5) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSargmove_tlcal(arg2, apy2) ;
ATSINSargmove_tlcal(arg3, apy3) ;
ATSINSargmove_tlcal(arg4, apy4) ;
ATSINSargmove_tlcal(arg5, apy5) ;
ATSINSfgoto(__patsflab_merge2_119) ;
ATStailcal_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5633(line=315, offs=6) -- 5730(line=320, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5753(line=321, offs=6) -- 5850(line=326, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5770(line=323, offs=3) -- 5794(line=323, offs=27)
*/
ATSINSmove_void(tmp410, PMVtmpltcst(ptr0_set<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(arg3, arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5819(line=325, offs=22) -- 5834(line=325, offs=37)
*/
ATSINSmove(tmp411, PMVtmpltcst(ptr0_succ<S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))>)(arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5837(line=325, offs=40) -- 5841(line=325, offs=44)
*/
ATSINSmove(tmp412, PMVtmpltcst(g1int_sub<S2Eextkind(atstype_int)>)(arg4, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5800(line=325, offs=3) -- 5846(line=325, offs=49)
*/
ATSINSmove_void(tmpret399, ATSfunclo_fun(PMVd2vfunlab(d2v=merge1$7491(1), flab=merge1_118$0(level=1)), (atstkind_t0ype(atstype_int), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)), atsvoid_t0ype)(tmp403, tmp404, arg2, tmp411, tmp412, arg5)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5753(line=321, offs=6) -- 5850(line=326, offs=4)
*/
/*
INSletpop()
*/
} /* ATSendif */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5478(line=305, offs=6) -- 5874(line=328, offs=4)
*/
/*
INSletpop()
*/
} /* ATSendif */
ATSfunbody_end()
ATSreturn_void(tmpret399) ;
} /* end of [merge2_119__119] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4060(line=209, offs=3) -- 6308(line=350, offs=4)
*/
/*
local: 
global: DivideConquer$conquer$combine$115$1(level=5)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__combine__115__1(atstype_boxed arg0, atstype_boxed arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret377__1, atstype_boxed) ;
ATStmpdec(tmp413__1, atstype_boxed) ;
ATStmpdec(tmp414__1, atstype_boxed) ;
ATStmpdec(tmp415__1, atstype_boxed) ;
ATStmpdec(tmp417__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp421__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp422__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp423__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp424__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp425__1, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp426__1) ;
ATStmpdec(tmp427__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp428__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp429__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp430__1, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp431__1) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4022(line=208, offs=1) -- 6308(line=350, offs=4)
*/
ATSINSflab(__patsflab_DivideConquer__conquer__combine):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4075(line=209, offs=18) -- 6308(line=350, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5923(line=331, offs=5) -- 5945(line=331, offs=27)
*/
ATSifthen(ATSCKptrisnull(arg1)) { ATSINScaseof_fail("/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5923(line=331, offs=5) -- 5952(line=331, offs=34)") ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5934(line=331, offs=16) -- 5938(line=331, offs=20)
*/
ATSINSmove(tmp413__1, ATSSELcon(arg1, postiats_tysum_2, atslab__0)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5940(line=331, offs=22) -- 5944(line=331, offs=26)
*/
ATSINSmove(tmp414__1, ATSSELcon(arg1, postiats_tysum_2, atslab__1)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5957(line=332, offs=5) -- 5979(line=332, offs=27)
*/
ATSifthen(ATSCKptrisnull(tmp414__1)) { ATSINScaseof_fail("/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5957(line=332, offs=5) -- 5986(line=332, offs=34)") ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5968(line=332, offs=16) -- 5972(line=332, offs=20)
*/
ATSINSmove(tmp415__1, ATSSELcon(tmp414__1, postiats_tysum_2, atslab__0)) ;
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5996(line=336, offs=1) -- 6301(line=348, offs=4)
*/
ATScaseof_beg()
/*
** ibranchlst-beg
*/
ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6012(line=337, offs=3) -- 6027(line=337, offs=18)
*/
ATSINSlab(__atstmplab20):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4061(line=209, offs=4) -- 4065(line=209, offs=8)
*/
ATSifnthen(ATSCKpat_con1(arg0, 0)) { ATSINSgoto(__atstmplab23) ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6027(line=337, offs=18) -- 6027(line=337, offs=18)
*/
ATSINSlab(__atstmplab21):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6022(line=337, offs=13) -- 6023(line=337, offs=14)
*/
ATSINSmove(tmp417__1, ATSSELcon(arg0, postiats_tysum_0, atslab__1)) ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6031(line=337, offs=22) -- 6155(line=342, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6054(line=339, offs=9) -- 6072(line=339, offs=27)
*/
ATSifnthen(ATSCKpat_con1(tmp413__1, 1)) { ATSINScaseof_fail("/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6054(line=339, offs=9) -- 6079(line=339, offs=34)") ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6061(line=339, offs=16) -- 6063(line=339, offs=18)
*/
ATSINSmove(tmp422__1, ATSSELcon(tmp413__1, postiats_tysum_0, atslab__0)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6069(line=339, offs=24) -- 6071(line=339, offs=26)
*/
ATSINSmove(tmp423__1, ATSSELcon(tmp413__1, postiats_tysum_0, atslab__2)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6088(line=340, offs=9) -- 6106(line=340, offs=27)
*/
ATSifnthen(ATSCKpat_con1(tmp415__1, 1)) { ATSINScaseof_fail("/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6088(line=340, offs=9) -- 6113(line=340, offs=34)") ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6095(line=340, offs=16) -- 6097(line=340, offs=18)
*/
ATSINSmove(tmp424__1, ATSSELcon(tmp415__1, postiats_tysum_0, atslab__0)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6103(line=340, offs=24) -- 6105(line=340, offs=26)
*/
ATSINSmove(tmp425__1, ATSSELcon(tmp415__1, postiats_tysum_0, atslab__2)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6127(line=341, offs=14) -- 6151(line=341, offs=38)
*/
ATSINSmove_void(tmp426__1, merge_117__117__1(tmp423__1, tmp425__1, tmp417__1, tmp422__1, tmp424__1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6031(line=337, offs=22) -- 6035(line=337, offs=26)
*/
ATSINSmove(tmpret377__1, arg0) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6031(line=337, offs=22) -- 6155(line=342, offs=4)
*/
/*
INSletpop()
*/
ATSbranch_end()

ATSbranch_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6158(line=343, offs=3) -- 6173(line=343, offs=18)
*/
ATSINSlab(__atstmplab22):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4061(line=209, offs=4) -- 4065(line=209, offs=8)
*/
#if(0)
ATSifnthen(ATSCKpat_con1(arg0, 1)) { ATSINSdeadcode_fail() ; } ;
#endif
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6173(line=343, offs=18) -- 6173(line=343, offs=18)
*/
ATSINSlab(__atstmplab23):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6171(line=343, offs=16) -- 6172(line=343, offs=17)
*/
ATSINSmove(tmp421__1, ATSSELcon(arg0, postiats_tysum_0, atslab__2)) ;
/*
emit_instr: loc0 = : 0(line=0, offs=0) -- 0(line=0, offs=0)
*/
/*
ibranch-mbody:
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6177(line=343, offs=22) -- 6301(line=348, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6200(line=345, offs=9) -- 6218(line=345, offs=27)
*/
ATSifnthen(ATSCKpat_con1(tmp413__1, 0)) { ATSINScaseof_fail("/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6200(line=345, offs=9) -- 6225(line=345, offs=34)") ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6207(line=345, offs=16) -- 6209(line=345, offs=18)
*/
ATSINSmove(tmp427__1, ATSSELcon(tmp413__1, postiats_tysum_0, atslab__0)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6211(line=345, offs=20) -- 6213(line=345, offs=22)
*/
ATSINSmove(tmp428__1, ATSSELcon(tmp413__1, postiats_tysum_0, atslab__1)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6234(line=346, offs=9) -- 6252(line=346, offs=27)
*/
ATSifnthen(ATSCKpat_con1(tmp415__1, 0)) { ATSINScaseof_fail("/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6234(line=346, offs=9) -- 6259(line=346, offs=34)") ; } ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6241(line=346, offs=16) -- 6243(line=346, offs=18)
*/
ATSINSmove(tmp429__1, ATSSELcon(tmp415__1, postiats_tysum_0, atslab__0)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6245(line=346, offs=20) -- 6247(line=346, offs=22)
*/
ATSINSmove(tmp430__1, ATSSELcon(tmp415__1, postiats_tysum_0, atslab__1)) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6273(line=347, offs=14) -- 6297(line=347, offs=38)
*/
ATSINSmove_void(tmp431__1, merge_117__117__1(tmp428__1, tmp430__1, tmp421__1, tmp427__1, tmp429__1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6177(line=343, offs=22) -- 6181(line=343, offs=26)
*/
ATSINSmove(tmpret377__1, arg0) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 6177(line=343, offs=22) -- 6301(line=348, offs=4)
*/
/*
INSletpop()
*/
ATSbranch_end()

/*
** ibranchlst-end
*/
ATScaseof_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4075(line=209, offs=18) -- 6308(line=350, offs=4)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret377__1) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__combine__115__1] */

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4086(line=212, offs=1) -- 4271(line=228, offs=4)
*/
/*
local: 
global: copy_116$1(level=6)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
copy_116__116__1(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_t0ype(atstype_int) arg2)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret378__1) ;
ATStmpdec(tmp379__1, atstkind_t0ype(atstype_size)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4086(line=212, offs=1) -- 4271(line=228, offs=4)
*/
ATSINSflab(__patsflab_copy_116):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4233(line=225, offs=32) -- 4246(line=225, offs=45)
*/
ATSINSmove(tmp379__1, ATSLIB_056_prelude__mul_int1_size1__90__2(arg2, ATSPMVsizeof(atstkind_t0ype(atstype_int)))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4185(line=223, offs=1) -- 4248(line=226, offs=2)
*/
ATSINSmove_void(tmpret378__1, ATSextfcall(atspre_array_memcpy, (arg1, arg0, tmp379__1))) ;
ATSfunbody_end()
ATSreturn_void(tmpret378__1) ;
} /* end of [copy_116__116__1] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 5763(line=275, offs=8) -- 5807(line=276, offs=36)
*/
/*
local: 
global: mul_int1_size1$90$2(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_t0ype(atstype_size)
ATSLIB_056_prelude__mul_int1_size1__90__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_size) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret274__2, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp275__2, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp276__2, atstkind_t0ype(atstype_size)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 5741(line=274, offs=1) -- 5807(line=276, offs=36)
*/
ATSINSflab(__patsflab_mul_int1_size1):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 5796(line=276, offs=25) -- 5803(line=276, offs=32)
*/
ATSINSmove(tmp276__2, atspre_g0int2uint_int_size(arg0)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 5796(line=276, offs=25) -- 5806(line=276, offs=35)
*/
ATSINSmove(tmp275__2, atspre_g0uint_mul_size(tmp276__2, arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 5774(line=276, offs=3) -- 5807(line=276, offs=36)
*/
ATSINSmove(tmpret274__2, ATSPMVcastfn(cast, atstkind_t0ype(atstype_size), tmp275__2)) ;
ATSfunbody_end()
ATSreturn(tmpret274__2) ;
} /* end of [ATSLIB_056_prelude__mul_int1_size1__90__2] */

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4299(line=231, offs=1) -- 4578(line=248, offs=2)
*/
/*
local: copy_116$1(level=6), merge1_118$1(level=6)
global: copy_116$1(level=6), merge_117$1(level=6), merge1_118$1(level=6), merge2_119$1(level=6)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
merge_117__117__1(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_type(atstype_ptrk) arg2, atstkind_t0ype(atstype_int) arg3, atstkind_t0ype(atstype_int) arg4)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret380__1) ;
ATStmpdec(tmp381__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp382__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp383__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp384__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4299(line=231, offs=1) -- 4578(line=248, offs=2)
*/
ATSINSflab(__patsflab_merge_117):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4397(line=238, offs=2) -- 4403(line=238, offs=8)
*/
ATSINSmove(tmp381__1, ATSLIB_056_prelude__eq_g1int_int__126__1(arg3, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4393(line=237, offs=1) -- 4559(line=247, offs=4)
*/
ATSif(
tmp381__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4410(line=239, offs=6) -- 4425(line=239, offs=21)
*/
ATSINSmove_void(tmpret380__1, copy_116__116__1(arg1, arg2, arg4)) ;

} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4431(line=240, offs=6) -- 4559(line=247, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4450(line=242, offs=5) -- 4470(line=242, offs=25)
*/
ATSINSmove(tmp382__1, ATSLIB_056_prelude_056_unsafe__ptr0_get__129__1(arg0)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4501(line=244, offs=12) -- 4517(line=244, offs=28)
*/
ATSINSmove(tmp383__1, ATSLIB_056_prelude__ptr0_succ__131__1(arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4546(line=246, offs=25) -- 4550(line=246, offs=29)
*/
ATSINSmove(tmp384__1, atspre_g1int_sub_int(arg3, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4524(line=246, offs=3) -- 4555(line=246, offs=34)
*/
ATSINSmove_void(tmpret380__1, merge1_118__118__1(tmp382__1, tmp383__1, arg1, arg2, tmp384__1, arg4)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4431(line=240, offs=6) -- 4559(line=247, offs=4)
*/
/*
INSletpop()
*/
} /* ATSendif */
ATSfunbody_end()
ATSreturn_void(tmpret380__1) ;
} /* end of [merge_117__117__1] */

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4583(line=250, offs=1) -- 5223(line=288, offs=2)
*/
/*
local: copy_116$1(level=6), merge1_118$1(level=6), merge2_119$1(level=6)
global: copy_116$1(level=6), merge1_118$1(level=6), merge2_119$1(level=6)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
merge1_118__118__1(atstkind_t0ype(atstype_int) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_type(atstype_ptrk) arg2, atstkind_type(atstype_ptrk) arg3, atstkind_t0ype(atstype_int) arg4, atstkind_t0ype(atstype_int) arg5)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstkind_t0ype(atstype_int)) ;
ATStmpdec(apy1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy2, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy3, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy4, atstkind_t0ype(atstype_int)) ;
ATStmpdec(apy5, atstkind_t0ype(atstype_int)) ;
// ATStmpdec_void(tmpret385__1) ;
ATStmpdec(tmp386__1, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp387__1) ;
ATStmpdec(tmp388__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp389__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp390__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp391__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp392__1, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp393__1) ;
ATStmpdec(tmp394__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp395__1, atstkind_t0ype(atstype_int)) ;
// ATStmpdec_void(tmp396__1) ;
ATStmpdec(tmp397__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp398__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4583(line=250, offs=1) -- 5223(line=288, offs=2)
*/
ATSINSflab(__patsflab_merge1_118):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4691(line=257, offs=2) -- 4697(line=257, offs=8)
*/
ATSINSmove(tmp386__1, ATSLIB_056_prelude__eq_g1int_int__126__2(arg5, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4687(line=256, offs=1) -- 5204(line=287, offs=4)
*/
ATSif(
tmp386__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4704(line=258, offs=6) -- 4785(line=263, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4721(line=260, offs=3) -- 4745(line=260, offs=27)
*/
ATSINSmove_void(tmp387__1, ATSLIB_056_prelude_056_unsafe__ptr0_set__134__1(arg3, arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4760(line=262, offs=12) -- 4775(line=262, offs=27)
*/
ATSINSmove(tmp388__1, ATSLIB_056_prelude__ptr0_succ__131__2(arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4751(line=262, offs=3) -- 4781(line=262, offs=33)
*/
ATSINSmove_void(tmpret385__1, copy_116__116__1(arg1, tmp388__1, arg4)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4704(line=258, offs=6) -- 4785(line=263, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4808(line=264, offs=6) -- 5204(line=287, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4827(line=266, offs=5) -- 4847(line=266, offs=25)
*/
ATSINSmove(tmp389__1, ATSLIB_056_prelude_056_unsafe__ptr0_get__129__2(arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4878(line=268, offs=12) -- 4894(line=268, offs=28)
*/
ATSINSmove(tmp390__1, ATSLIB_056_prelude__ptr0_succ__131__3(arg2)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4908(line=269, offs=13) -- 4937(line=269, offs=42)
*/
ATSINSmove(tmp391__1, ATSLIB_056_prelude__gcompare_val_val__0__2(arg0, tmp389__1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4948(line=273, offs=2) -- 4956(line=273, offs=10)
*/
ATSINSmove(tmp392__1, ATSLIB_056_prelude__lte_g0int_int__63__8(tmp391__1, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4944(line=272, offs=1) -- 5180(line=285, offs=4)
*/
ATSif(
tmp392__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4963(line=274, offs=6) -- 5060(line=279, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4980(line=276, offs=3) -- 5004(line=276, offs=27)
*/
ATSINSmove_void(tmp393__1, ATSLIB_056_prelude_056_unsafe__ptr0_set__134__2(arg3, arg0)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5029(line=278, offs=22) -- 5044(line=278, offs=37)
*/
ATSINSmove(tmp394__1, ATSLIB_056_prelude__ptr0_succ__131__4(arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5051(line=278, offs=44) -- 5055(line=278, offs=48)
*/
ATSINSmove(tmp395__1, atspre_g1int_sub_int(arg5, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5010(line=278, offs=3) -- 5056(line=278, offs=49)
*/
ATSINSmove_void(tmpret385__1, merge2_119__119__1(arg1, tmp389__1, tmp390__1, tmp394__1, arg4, tmp395__1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4963(line=274, offs=6) -- 5060(line=279, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5083(line=280, offs=6) -- 5180(line=285, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5100(line=282, offs=3) -- 5124(line=282, offs=27)
*/
ATSINSmove_void(tmp396__1, ATSLIB_056_prelude_056_unsafe__ptr0_set__134__3(arg3, tmp389__1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5149(line=284, offs=22) -- 5164(line=284, offs=37)
*/
ATSINSmove(tmp397__1, ATSLIB_056_prelude__ptr0_succ__131__5(arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5171(line=284, offs=44) -- 5175(line=284, offs=48)
*/
ATSINSmove(tmp398__1, atspre_g1int_sub_int(arg5, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5130(line=284, offs=3) -- 5176(line=284, offs=49)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, arg0) ;
ATSINSmove_tlcal(apy1, arg1) ;
ATSINSmove_tlcal(apy2, tmp390__1) ;
ATSINSmove_tlcal(apy3, tmp397__1) ;
ATSINSmove_tlcal(apy4, arg4) ;
ATSINSmove_tlcal(apy5, tmp398__1) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSargmove_tlcal(arg2, apy2) ;
ATSINSargmove_tlcal(arg3, apy3) ;
ATSINSargmove_tlcal(arg4, apy4) ;
ATSINSargmove_tlcal(arg5, apy5) ;
ATSINSfgoto(__patsflab_merge1_118) ;
ATStailcal_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5083(line=280, offs=6) -- 5180(line=285, offs=4)
*/
/*
INSletpop()
*/
} /* ATSendif */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 4808(line=264, offs=6) -- 5204(line=287, offs=4)
*/
/*
INSletpop()
*/
} /* ATSendif */
ATSfunbody_end()
ATSreturn_void(tmpret385__1) ;
} /* end of [merge1_118__118__1] */

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5253(line=291, offs=1) -- 5893(line=329, offs=2)
*/
/*
local: copy_116$1(level=6), merge1_118$1(level=6), merge2_119$1(level=6)
global: copy_116$1(level=6), merge1_118$1(level=6), merge2_119$1(level=6)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
merge2_119__119__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1, atstkind_type(atstype_ptrk) arg2, atstkind_type(atstype_ptrk) arg3, atstkind_t0ype(atstype_int) arg4, atstkind_t0ype(atstype_int) arg5)
{
/* tmpvardeclst(beg) */
ATStmpdec(apy0, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(apy2, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy3, atstkind_type(atstype_ptrk)) ;
ATStmpdec(apy4, atstkind_t0ype(atstype_int)) ;
ATStmpdec(apy5, atstkind_t0ype(atstype_int)) ;
// ATStmpdec_void(tmpret399__1) ;
ATStmpdec(tmp400__1, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp401__1) ;
ATStmpdec(tmp402__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp403__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp404__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp405__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp406__1, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp407__1) ;
ATStmpdec(tmp408__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp409__1, atstkind_t0ype(atstype_int)) ;
// ATStmpdec_void(tmp410__1) ;
ATStmpdec(tmp411__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp412__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5253(line=291, offs=1) -- 5893(line=329, offs=2)
*/
ATSINSflab(__patsflab_merge2_119):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5361(line=298, offs=2) -- 5367(line=298, offs=8)
*/
ATSINSmove(tmp400__1, ATSLIB_056_prelude__eq_g1int_int__126__3(arg4, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5357(line=297, offs=1) -- 5874(line=328, offs=4)
*/
ATSif(
tmp400__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5374(line=299, offs=6) -- 5455(line=304, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5391(line=301, offs=3) -- 5415(line=301, offs=27)
*/
ATSINSmove_void(tmp401__1, ATSLIB_056_prelude_056_unsafe__ptr0_set__134__4(arg3, arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5430(line=303, offs=12) -- 5445(line=303, offs=27)
*/
ATSINSmove(tmp402__1, ATSLIB_056_prelude__ptr0_succ__131__6(arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5421(line=303, offs=3) -- 5451(line=303, offs=33)
*/
ATSINSmove_void(tmpret399__1, copy_116__116__1(arg2, tmp402__1, arg5)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5374(line=299, offs=6) -- 5455(line=304, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5478(line=305, offs=6) -- 5874(line=328, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5497(line=307, offs=5) -- 5517(line=307, offs=25)
*/
ATSINSmove(tmp403__1, ATSLIB_056_prelude_056_unsafe__ptr0_get__129__3(arg0)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5548(line=309, offs=12) -- 5564(line=309, offs=28)
*/
ATSINSmove(tmp404__1, ATSLIB_056_prelude__ptr0_succ__131__7(arg0)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5578(line=310, offs=13) -- 5607(line=310, offs=42)
*/
ATSINSmove(tmp405__1, ATSLIB_056_prelude__gcompare_val_val__0__3(tmp403__1, arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5618(line=314, offs=2) -- 5626(line=314, offs=10)
*/
ATSINSmove(tmp406__1, ATSLIB_056_prelude__lte_g0int_int__63__9(tmp405__1, ATSPMVi0nt(0))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5614(line=313, offs=1) -- 5850(line=326, offs=4)
*/
ATSif(
tmp406__1
) ATSthen() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5633(line=315, offs=6) -- 5730(line=320, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5650(line=317, offs=3) -- 5674(line=317, offs=27)
*/
ATSINSmove_void(tmp407__1, ATSLIB_056_prelude_056_unsafe__ptr0_set__134__5(arg3, tmp403__1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5699(line=319, offs=22) -- 5714(line=319, offs=37)
*/
ATSINSmove(tmp408__1, ATSLIB_056_prelude__ptr0_succ__131__8(arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5717(line=319, offs=40) -- 5721(line=319, offs=44)
*/
ATSINSmove(tmp409__1, atspre_g1int_sub_int(arg4, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5680(line=319, offs=3) -- 5726(line=319, offs=49)
*/
ATStailcal_beg()
ATSINSmove_tlcal(apy0, tmp404__1) ;
ATSINSmove_tlcal(apy1, arg1) ;
ATSINSmove_tlcal(apy2, arg2) ;
ATSINSmove_tlcal(apy3, tmp408__1) ;
ATSINSmove_tlcal(apy4, tmp409__1) ;
ATSINSmove_tlcal(apy5, arg5) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSargmove_tlcal(arg2, apy2) ;
ATSINSargmove_tlcal(arg3, apy3) ;
ATSINSargmove_tlcal(arg4, apy4) ;
ATSINSargmove_tlcal(arg5, apy5) ;
ATSINSfgoto(__patsflab_merge2_119) ;
ATStailcal_end()

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5633(line=315, offs=6) -- 5730(line=320, offs=4)
*/
/*
INSletpop()
*/
} ATSelse() {
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5753(line=321, offs=6) -- 5850(line=326, offs=4)
*/
/*
letpush(beg)
*/
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5770(line=323, offs=3) -- 5794(line=323, offs=27)
*/
ATSINSmove_void(tmp410__1, ATSLIB_056_prelude_056_unsafe__ptr0_set__134__6(arg3, arg1)) ;

/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5819(line=325, offs=22) -- 5834(line=325, offs=37)
*/
ATSINSmove(tmp411__1, ATSLIB_056_prelude__ptr0_succ__131__9(arg3)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5837(line=325, offs=40) -- 5841(line=325, offs=44)
*/
ATSINSmove(tmp412__1, atspre_g1int_sub_int(arg4, ATSPMVi0nt(1))) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5800(line=325, offs=3) -- 5846(line=325, offs=49)
*/
ATSINSmove_void(tmpret399__1, merge1_118__118__1(tmp403__1, tmp404__1, arg2, tmp411__1, tmp412__1, arg5)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5753(line=321, offs=6) -- 5850(line=326, offs=4)
*/
/*
INSletpop()
*/
} /* ATSendif */
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/DATS/MergeSort_array.dats: 5478(line=305, offs=6) -- 5874(line=328, offs=4)
*/
/*
INSletpop()
*/
} /* ATSendif */
ATSfunbody_end()
ATSreturn_void(tmpret399__1) ;
} /* end of [merge2_119__119__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 12572(line=653, offs=3) -- 12611(line=653, offs=42)
*/
/*
local: 
global: eq_g1int_int$126$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = tk(4651)
tmparg = S2Evar(tk(4651))
tmpsub = None()
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__eq_g1int_int__126(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret458, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp459, atstkind_t0ype(atstyvar_type(tk))) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12557(line=652, offs=1) -- 12611(line=653, offs=42)
*/
ATSINSflab(__patsflab_eq_g1int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12598(line=653, offs=29) -- 12609(line=653, offs=40)
*/
ATSINSmove(tmp459, PMVtmpltcst(g1int2int<S2Eextkind(atstype_int), S2Evar(tk(4651))>)(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12581(line=653, offs=12) -- 12611(line=653, offs=42)
*/
ATSINSmove(tmpret458, PMVtmpltcst(g1int_eq<S2Evar(tk(4651))>)(arg0, tmp459)) ;

ATSfunbody_end()
ATSreturn(tmpret458) ;
} /* end of [ATSLIB_056_prelude__eq_g1int_int__126] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 12572(line=653, offs=3) -- 12611(line=653, offs=42)
*/
/*
local: 
global: eq_g1int_int$126$1(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4651)
tmparg = S2Evar(tk(4651))
tmpsub = Some(tk(4651) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__eq_g1int_int__126__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret458__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp459__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12557(line=652, offs=1) -- 12611(line=653, offs=42)
*/
ATSINSflab(__patsflab_eq_g1int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12598(line=653, offs=29) -- 12609(line=653, offs=40)
*/
ATSINSmove(tmp459__1, atspre_g1int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12581(line=653, offs=12) -- 12611(line=653, offs=42)
*/
ATSINSmove(tmpret458__1, atspre_g1int_eq_int(arg0, tmp459__1)) ;

ATSfunbody_end()
ATSreturn(tmpret458__1) ;
} /* end of [ATSLIB_056_prelude__eq_g1int_int__126__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1763(line=60, offs=3) -- 1976(line=68, offs=2)
*/
/*
local: 
global: ptr0_get$129$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = a(5722)
tmparg = S2Evar(a(5722))
tmpsub = None()
*/
atstyvar_type(a)
ATSLIB_056_prelude_056_unsafe__ptr0_get__129(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret462, atstyvar_type(a)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1752(line=59, offs=1) -- 1976(line=68, offs=2)
*/
ATSINSflab(__patsflab_ptr0_get):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1769(line=60, offs=9) -- 1976(line=68, offs=2)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1950(line=66, offs=11) -- 1952(line=66, offs=13)
*/
ATSINSmove(tmpret462, ATSderef(ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0), atstyvar_type(a))) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1769(line=60, offs=9) -- 1976(line=68, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret462) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_get__129] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1763(line=60, offs=3) -- 1976(line=68, offs=2)
*/
/*
local: 
global: ptr0_get$129$1(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5722)
tmparg = S2Evar(a(5722))
tmpsub = Some(a(5722) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude_056_unsafe__ptr0_get__129__1(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret462__1, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1752(line=59, offs=1) -- 1976(line=68, offs=2)
*/
ATSINSflab(__patsflab_ptr0_get):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1769(line=60, offs=9) -- 1976(line=68, offs=2)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1950(line=66, offs=11) -- 1952(line=66, offs=13)
*/
ATSINSmove(tmpret462__1, ATSderef(ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0), atstkind_t0ype(atstype_int))) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1769(line=60, offs=9) -- 1976(line=68, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret462__1) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_get__129__1] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1811(line=62, offs=10) -- 1842(line=62, offs=41)
*/
/*
local: 
global: ptr0_succ$131$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = a(4690)
tmparg = S2Evar(a(4690))
tmpsub = None()
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__131(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret464, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1802(line=62, offs=1) -- 1842(line=62, offs=41)
*/
ATSINSflab(__patsflab_ptr0_succ):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1817(line=62, offs=16) -- 1842(line=62, offs=41)
*/
ATSINSmove(tmpret464, atspre_add_ptr0_bsz(arg0, ATSPMVsizeof(atstyvar_type(a)))) ;

ATSfunbody_end()
ATSreturn(tmpret464) ;
} /* end of [ATSLIB_056_prelude__ptr0_succ__131] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1811(line=62, offs=10) -- 1842(line=62, offs=41)
*/
/*
local: 
global: ptr0_succ$131$1(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4690)
tmparg = S2Evar(a(4690))
tmpsub = Some(a(4690) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__131__1(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret464__1, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1802(line=62, offs=1) -- 1842(line=62, offs=41)
*/
ATSINSflab(__patsflab_ptr0_succ):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1817(line=62, offs=16) -- 1842(line=62, offs=41)
*/
ATSINSmove(tmpret464__1, atspre_add_ptr0_bsz(arg0, ATSPMVsizeof(atstkind_t0ype(atstype_int)))) ;

ATSfunbody_end()
ATSreturn(tmpret464__1) ;
} /* end of [ATSLIB_056_prelude__ptr0_succ__131__1] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 12572(line=653, offs=3) -- 12611(line=653, offs=42)
*/
/*
local: 
global: eq_g1int_int$126$2(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4651)
tmparg = S2Evar(tk(4651))
tmpsub = Some(tk(4651) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__eq_g1int_int__126__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret458__2, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp459__2, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12557(line=652, offs=1) -- 12611(line=653, offs=42)
*/
ATSINSflab(__patsflab_eq_g1int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12598(line=653, offs=29) -- 12609(line=653, offs=40)
*/
ATSINSmove(tmp459__2, atspre_g1int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12581(line=653, offs=12) -- 12611(line=653, offs=42)
*/
ATSINSmove(tmpret458__2, atspre_g1int_eq_int(arg0, tmp459__2)) ;

ATSfunbody_end()
ATSreturn(tmpret458__2) ;
} /* end of [ATSLIB_056_prelude__eq_g1int_int__126__2] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2089(line=77, offs=3) -- 2312(line=85, offs=2)
*/
/*
local: 
global: ptr0_set$134$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = a(5725)
tmparg = S2Evar(a(5725))
tmpsub = None()
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__134(atstkind_type(atstype_ptrk) arg0, atstyvar_type(a) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret482) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2078(line=76, offs=1) -- 2312(line=85, offs=2)
*/
ATSINSflab(__patsflab_ptr0_set):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2098(line=77, offs=12) -- 2312(line=85, offs=2)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2281(line=83, offs=12) -- 2288(line=83, offs=19)
*/
ATSINSstore(ATSderef(ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0), atstyvar_type(a)), arg1) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2281(line=83, offs=12) -- 2288(line=83, offs=19)
*/
ATSINSmove_void(tmpret482, ATSPMVempty()) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2098(line=77, offs=12) -- 2312(line=85, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret482) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_set__134] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2089(line=77, offs=3) -- 2312(line=85, offs=2)
*/
/*
local: 
global: ptr0_set$134$1(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5725)
tmparg = S2Evar(a(5725))
tmpsub = Some(a(5725) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__134__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret482__1) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2078(line=76, offs=1) -- 2312(line=85, offs=2)
*/
ATSINSflab(__patsflab_ptr0_set):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2098(line=77, offs=12) -- 2312(line=85, offs=2)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2281(line=83, offs=12) -- 2288(line=83, offs=19)
*/
ATSINSstore(ATSderef(ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0), atstkind_t0ype(atstype_int)), arg1) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2281(line=83, offs=12) -- 2288(line=83, offs=19)
*/
ATSINSmove_void(tmpret482__1, ATSPMVempty()) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2098(line=77, offs=12) -- 2312(line=85, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret482__1) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_set__134__1] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1811(line=62, offs=10) -- 1842(line=62, offs=41)
*/
/*
local: 
global: ptr0_succ$131$2(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4690)
tmparg = S2Evar(a(4690))
tmpsub = Some(a(4690) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__131__2(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret464__2, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1802(line=62, offs=1) -- 1842(line=62, offs=41)
*/
ATSINSflab(__patsflab_ptr0_succ):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1817(line=62, offs=16) -- 1842(line=62, offs=41)
*/
ATSINSmove(tmpret464__2, atspre_add_ptr0_bsz(arg0, ATSPMVsizeof(atstkind_t0ype(atstype_int)))) ;

ATSfunbody_end()
ATSreturn(tmpret464__2) ;
} /* end of [ATSLIB_056_prelude__ptr0_succ__131__2] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1763(line=60, offs=3) -- 1976(line=68, offs=2)
*/
/*
local: 
global: ptr0_get$129$2(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5722)
tmparg = S2Evar(a(5722))
tmpsub = Some(a(5722) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude_056_unsafe__ptr0_get__129__2(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret462__2, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1752(line=59, offs=1) -- 1976(line=68, offs=2)
*/
ATSINSflab(__patsflab_ptr0_get):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1769(line=60, offs=9) -- 1976(line=68, offs=2)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1950(line=66, offs=11) -- 1952(line=66, offs=13)
*/
ATSINSmove(tmpret462__2, ATSderef(ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0), atstkind_t0ype(atstype_int))) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1769(line=60, offs=9) -- 1976(line=68, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret462__2) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_get__129__2] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1811(line=62, offs=10) -- 1842(line=62, offs=41)
*/
/*
local: 
global: ptr0_succ$131$3(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4690)
tmparg = S2Evar(a(4690))
tmpsub = Some(a(4690) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__131__3(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret464__3, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1802(line=62, offs=1) -- 1842(line=62, offs=41)
*/
ATSINSflab(__patsflab_ptr0_succ):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1817(line=62, offs=16) -- 1842(line=62, offs=41)
*/
ATSINSmove(tmpret464__3, atspre_add_ptr0_bsz(arg0, ATSPMVsizeof(atstkind_t0ype(atstype_int)))) ;

ATSfunbody_end()
ATSreturn(tmpret464__3) ;
} /* end of [ATSLIB_056_prelude__ptr0_succ__131__3] */

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_int.dats: 526(line=40, offs=3) -- 548(line=40, offs=25)
*/
/*
local: 
global: gcompare_val_val$0$2(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))
tmpsub = Some()
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__gcompare_val_val__0__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret0__2, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_int.dats: 502(line=39, offs=1) -- 548(line=40, offs=25)
*/
ATSINSflab(__patsflab_gcompare_val_val):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_int.dats: 535(line=40, offs=12) -- 548(line=40, offs=25)
*/
ATSINSmove(tmpret0__2, ATSLIB_056_prelude__compare_g0int_int__49__2(arg0, arg1)) ;

ATSfunbody_end()
ATSreturn(tmpret0__2) ;
} /* end of [ATSLIB_056_prelude__gcompare_val_val__0__2] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 12149(line=628, offs=3) -- 12192(line=628, offs=46)
*/
/*
local: 
global: compare_g0int_int$49$2(level=8)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4638)
tmparg = S2Evar(tk(4638))
tmpsub = Some(tk(4638) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__compare_g0int_int__49__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret166__2, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp167__2, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12129(line=627, offs=1) -- 12192(line=628, offs=46)
*/
ATSINSflab(__patsflab_compare_g0int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12179(line=628, offs=33) -- 12190(line=628, offs=44)
*/
ATSINSmove(tmp167__2, atspre_g0int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12158(line=628, offs=12) -- 12192(line=628, offs=46)
*/
ATSINSmove(tmpret166__2, atspre_g0int_compare_int(arg0, tmp167__2)) ;

ATSfunbody_end()
ATSreturn(tmpret166__2) ;
} /* end of [ATSLIB_056_prelude__compare_g0int_int__49__2] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 11753(line=606, offs=3) -- 11793(line=606, offs=43)
*/
/*
local: 
global: lte_g0int_int$63$8(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4633)
tmparg = S2Evar(tk(4633))
tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lte_g0int_int__63__8(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret204__8, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp205__8, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11737(line=605, offs=1) -- 11793(line=606, offs=43)
*/
ATSINSflab(__patsflab_lte_g0int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11780(line=606, offs=30) -- 11791(line=606, offs=41)
*/
ATSINSmove(tmp205__8, atspre_g0int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11762(line=606, offs=12) -- 11793(line=606, offs=43)
*/
ATSINSmove(tmpret204__8, atspre_g0int_lte_int(arg0, tmp205__8)) ;

ATSfunbody_end()
ATSreturn(tmpret204__8) ;
} /* end of [ATSLIB_056_prelude__lte_g0int_int__63__8] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2089(line=77, offs=3) -- 2312(line=85, offs=2)
*/
/*
local: 
global: ptr0_set$134$2(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5725)
tmparg = S2Evar(a(5725))
tmpsub = Some(a(5725) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__134__2(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret482__2) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2078(line=76, offs=1) -- 2312(line=85, offs=2)
*/
ATSINSflab(__patsflab_ptr0_set):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2098(line=77, offs=12) -- 2312(line=85, offs=2)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2281(line=83, offs=12) -- 2288(line=83, offs=19)
*/
ATSINSstore(ATSderef(ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0), atstkind_t0ype(atstype_int)), arg1) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2281(line=83, offs=12) -- 2288(line=83, offs=19)
*/
ATSINSmove_void(tmpret482__2, ATSPMVempty()) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2098(line=77, offs=12) -- 2312(line=85, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret482__2) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_set__134__2] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1811(line=62, offs=10) -- 1842(line=62, offs=41)
*/
/*
local: 
global: ptr0_succ$131$4(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4690)
tmparg = S2Evar(a(4690))
tmpsub = Some(a(4690) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__131__4(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret464__4, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1802(line=62, offs=1) -- 1842(line=62, offs=41)
*/
ATSINSflab(__patsflab_ptr0_succ):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1817(line=62, offs=16) -- 1842(line=62, offs=41)
*/
ATSINSmove(tmpret464__4, atspre_add_ptr0_bsz(arg0, ATSPMVsizeof(atstkind_t0ype(atstype_int)))) ;

ATSfunbody_end()
ATSreturn(tmpret464__4) ;
} /* end of [ATSLIB_056_prelude__ptr0_succ__131__4] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2089(line=77, offs=3) -- 2312(line=85, offs=2)
*/
/*
local: 
global: ptr0_set$134$3(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5725)
tmparg = S2Evar(a(5725))
tmpsub = Some(a(5725) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__134__3(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret482__3) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2078(line=76, offs=1) -- 2312(line=85, offs=2)
*/
ATSINSflab(__patsflab_ptr0_set):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2098(line=77, offs=12) -- 2312(line=85, offs=2)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2281(line=83, offs=12) -- 2288(line=83, offs=19)
*/
ATSINSstore(ATSderef(ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0), atstkind_t0ype(atstype_int)), arg1) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2281(line=83, offs=12) -- 2288(line=83, offs=19)
*/
ATSINSmove_void(tmpret482__3, ATSPMVempty()) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2098(line=77, offs=12) -- 2312(line=85, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret482__3) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_set__134__3] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1811(line=62, offs=10) -- 1842(line=62, offs=41)
*/
/*
local: 
global: ptr0_succ$131$5(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4690)
tmparg = S2Evar(a(4690))
tmpsub = Some(a(4690) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__131__5(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret464__5, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1802(line=62, offs=1) -- 1842(line=62, offs=41)
*/
ATSINSflab(__patsflab_ptr0_succ):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1817(line=62, offs=16) -- 1842(line=62, offs=41)
*/
ATSINSmove(tmpret464__5, atspre_add_ptr0_bsz(arg0, ATSPMVsizeof(atstkind_t0ype(atstype_int)))) ;

ATSfunbody_end()
ATSreturn(tmpret464__5) ;
} /* end of [ATSLIB_056_prelude__ptr0_succ__131__5] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 12572(line=653, offs=3) -- 12611(line=653, offs=42)
*/
/*
local: 
global: eq_g1int_int$126$3(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4651)
tmparg = S2Evar(tk(4651))
tmpsub = Some(tk(4651) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__eq_g1int_int__126__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret458__3, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp459__3, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12557(line=652, offs=1) -- 12611(line=653, offs=42)
*/
ATSINSflab(__patsflab_eq_g1int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12598(line=653, offs=29) -- 12609(line=653, offs=40)
*/
ATSINSmove(tmp459__3, atspre_g1int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12581(line=653, offs=12) -- 12611(line=653, offs=42)
*/
ATSINSmove(tmpret458__3, atspre_g1int_eq_int(arg0, tmp459__3)) ;

ATSfunbody_end()
ATSreturn(tmpret458__3) ;
} /* end of [ATSLIB_056_prelude__eq_g1int_int__126__3] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2089(line=77, offs=3) -- 2312(line=85, offs=2)
*/
/*
local: 
global: ptr0_set$134$4(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5725)
tmparg = S2Evar(a(5725))
tmpsub = Some(a(5725) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__134__4(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret482__4) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2078(line=76, offs=1) -- 2312(line=85, offs=2)
*/
ATSINSflab(__patsflab_ptr0_set):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2098(line=77, offs=12) -- 2312(line=85, offs=2)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2281(line=83, offs=12) -- 2288(line=83, offs=19)
*/
ATSINSstore(ATSderef(ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0), atstkind_t0ype(atstype_int)), arg1) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2281(line=83, offs=12) -- 2288(line=83, offs=19)
*/
ATSINSmove_void(tmpret482__4, ATSPMVempty()) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2098(line=77, offs=12) -- 2312(line=85, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret482__4) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_set__134__4] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1811(line=62, offs=10) -- 1842(line=62, offs=41)
*/
/*
local: 
global: ptr0_succ$131$6(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4690)
tmparg = S2Evar(a(4690))
tmpsub = Some(a(4690) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__131__6(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret464__6, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1802(line=62, offs=1) -- 1842(line=62, offs=41)
*/
ATSINSflab(__patsflab_ptr0_succ):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1817(line=62, offs=16) -- 1842(line=62, offs=41)
*/
ATSINSmove(tmpret464__6, atspre_add_ptr0_bsz(arg0, ATSPMVsizeof(atstkind_t0ype(atstype_int)))) ;

ATSfunbody_end()
ATSreturn(tmpret464__6) ;
} /* end of [ATSLIB_056_prelude__ptr0_succ__131__6] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1763(line=60, offs=3) -- 1976(line=68, offs=2)
*/
/*
local: 
global: ptr0_get$129$3(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5722)
tmparg = S2Evar(a(5722))
tmpsub = Some(a(5722) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude_056_unsafe__ptr0_get__129__3(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret462__3, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1752(line=59, offs=1) -- 1976(line=68, offs=2)
*/
ATSINSflab(__patsflab_ptr0_get):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1769(line=60, offs=9) -- 1976(line=68, offs=2)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1950(line=66, offs=11) -- 1952(line=66, offs=13)
*/
ATSINSmove(tmpret462__3, ATSderef(ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0), atstkind_t0ype(atstype_int))) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1769(line=60, offs=9) -- 1976(line=68, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn(tmpret462__3) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_get__129__3] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1811(line=62, offs=10) -- 1842(line=62, offs=41)
*/
/*
local: 
global: ptr0_succ$131$7(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4690)
tmparg = S2Evar(a(4690))
tmpsub = Some(a(4690) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__131__7(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret464__7, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1802(line=62, offs=1) -- 1842(line=62, offs=41)
*/
ATSINSflab(__patsflab_ptr0_succ):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1817(line=62, offs=16) -- 1842(line=62, offs=41)
*/
ATSINSmove(tmpret464__7, atspre_add_ptr0_bsz(arg0, ATSPMVsizeof(atstkind_t0ype(atstype_int)))) ;

ATSfunbody_end()
ATSreturn(tmpret464__7) ;
} /* end of [ATSLIB_056_prelude__ptr0_succ__131__7] */

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_int.dats: 526(line=40, offs=3) -- 548(line=40, offs=25)
*/
/*
local: 
global: gcompare_val_val$0$3(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int))
tmpsub = Some()
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__gcompare_val_val__0__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret0__3, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_int.dats: 502(line=39, offs=1) -- 548(line=40, offs=25)
*/
ATSINSflab(__patsflab_gcompare_val_val):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_int.dats: 535(line=40, offs=12) -- 548(line=40, offs=25)
*/
ATSINSmove(tmpret0__3, ATSLIB_056_prelude__compare_g0int_int__49__3(arg0, arg1)) ;

ATSfunbody_end()
ATSreturn(tmpret0__3) ;
} /* end of [ATSLIB_056_prelude__gcompare_val_val__0__3] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 12149(line=628, offs=3) -- 12192(line=628, offs=46)
*/
/*
local: 
global: compare_g0int_int$49$3(level=8)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4638)
tmparg = S2Evar(tk(4638))
tmpsub = Some(tk(4638) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__compare_g0int_int__49__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret166__3, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp167__3, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12129(line=627, offs=1) -- 12192(line=628, offs=46)
*/
ATSINSflab(__patsflab_compare_g0int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12179(line=628, offs=33) -- 12190(line=628, offs=44)
*/
ATSINSmove(tmp167__3, atspre_g0int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 12158(line=628, offs=12) -- 12192(line=628, offs=46)
*/
ATSINSmove(tmpret166__3, atspre_g0int_compare_int(arg0, tmp167__3)) ;

ATSfunbody_end()
ATSreturn(tmpret166__3) ;
} /* end of [ATSLIB_056_prelude__compare_g0int_int__49__3] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats: 11753(line=606, offs=3) -- 11793(line=606, offs=43)
*/
/*
local: 
global: lte_g0int_int$63$9(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = tk(4633)
tmparg = S2Evar(tk(4633))
tmpsub = Some(tk(4633) -> S2Eextkind(atstype_int))
*/
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lte_g0int_int__63__9(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret204__9, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp205__9, atstkind_t0ype(atstype_int)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11737(line=605, offs=1) -- 11793(line=606, offs=43)
*/
ATSINSflab(__patsflab_lte_g0int_int):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11780(line=606, offs=30) -- 11791(line=606, offs=41)
*/
ATSINSmove(tmp205__9, atspre_g0int2int_int_int(arg1)) ;

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/integer.dats({$PATSPRE}/DATS/integer.dats): 11762(line=606, offs=12) -- 11793(line=606, offs=43)
*/
ATSINSmove(tmpret204__9, atspre_g0int_lte_int(arg0, tmp205__9)) ;

ATSfunbody_end()
ATSreturn(tmpret204__9) ;
} /* end of [ATSLIB_056_prelude__lte_g0int_int__63__9] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2089(line=77, offs=3) -- 2312(line=85, offs=2)
*/
/*
local: 
global: ptr0_set$134$5(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5725)
tmparg = S2Evar(a(5725))
tmpsub = Some(a(5725) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__134__5(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret482__5) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2078(line=76, offs=1) -- 2312(line=85, offs=2)
*/
ATSINSflab(__patsflab_ptr0_set):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2098(line=77, offs=12) -- 2312(line=85, offs=2)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2281(line=83, offs=12) -- 2288(line=83, offs=19)
*/
ATSINSstore(ATSderef(ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0), atstkind_t0ype(atstype_int)), arg1) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2281(line=83, offs=12) -- 2288(line=83, offs=19)
*/
ATSINSmove_void(tmpret482__5, ATSPMVempty()) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2098(line=77, offs=12) -- 2312(line=85, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret482__5) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_set__134__5] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1811(line=62, offs=10) -- 1842(line=62, offs=41)
*/
/*
local: 
global: ptr0_succ$131$8(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4690)
tmparg = S2Evar(a(4690))
tmpsub = Some(a(4690) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__131__8(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret464__8, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1802(line=62, offs=1) -- 1842(line=62, offs=41)
*/
ATSINSflab(__patsflab_ptr0_succ):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1817(line=62, offs=16) -- 1842(line=62, offs=41)
*/
ATSINSmove(tmpret464__8, atspre_add_ptr0_bsz(arg0, ATSPMVsizeof(atstkind_t0ype(atstype_int)))) ;

ATSfunbody_end()
ATSreturn(tmpret464__8) ;
} /* end of [ATSLIB_056_prelude__ptr0_succ__131__8] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2089(line=77, offs=3) -- 2312(line=85, offs=2)
*/
/*
local: 
global: ptr0_set$134$6(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5725)
tmparg = S2Evar(a(5725))
tmpsub = Some(a(5725) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__134__6(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret482__6) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2078(line=76, offs=1) -- 2312(line=85, offs=2)
*/
ATSINSflab(__patsflab_ptr0_set):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2098(line=77, offs=12) -- 2312(line=85, offs=2)
*/
/*
letpush(beg)
*/
/* (*nothing*) */
/*
letpush(end)
*/

/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2281(line=83, offs=12) -- 2288(line=83, offs=19)
*/
ATSINSstore(ATSderef(ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0), atstkind_t0ype(atstype_int)), arg1) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2281(line=83, offs=12) -- 2288(line=83, offs=19)
*/
ATSINSmove_void(tmpret482__6, ATSPMVempty()) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2098(line=77, offs=12) -- 2312(line=85, offs=2)
*/
/*
INSletpop()
*/
ATSfunbody_end()
ATSreturn_void(tmpret482__6) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_set__134__6] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1811(line=62, offs=10) -- 1842(line=62, offs=41)
*/
/*
local: 
global: ptr0_succ$131$9(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4690)
tmparg = S2Evar(a(4690))
tmpsub = Some(a(4690) -> S2Eapp(S2Ecst(g0int_t0ype); S2Eextkind(atstype_int)))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__131__9(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret464__9, atstkind_type(atstype_ptrk)) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1802(line=62, offs=1) -- 1842(line=62, offs=41)
*/
ATSINSflab(__patsflab_ptr0_succ):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats({$PATSPRE}/DATS/pointer.dats): 1817(line=62, offs=16) -- 1842(line=62, offs=41)
*/
ATSINSmove(tmpret464__9, atspre_add_ptr0_bsz(arg0, ATSPMVsizeof(atstkind_t0ype(atstype_int)))) ;

ATSfunbody_end()
ATSreturn(tmpret464__9) ;
} /* end of [ATSLIB_056_prelude__ptr0_succ__131__9] */

#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3410(line=167, offs=3) -- 3431(line=167, offs=24)
*/
/*
local: 
global: DivideConquer$solve$eval$memo_set$158$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atsvoid_t0ype
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__eval__memo_set__158(atstype_boxed arg0, atstype_boxed arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret525) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3374(line=166, offs=1) -- 3431(line=167, offs=24)
*/
ATSINSflab(__patsflab_DivideConquer__solve__eval__memo_set):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3421(line=167, offs=14) -- 3431(line=167, offs=24)
*/
ATSINSmove_void(tmpret525, ATSPMVempty()) ;
ATSfunbody_end()
ATSreturn_void(tmpret525) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__eval__memo_set__158] */
#endif // end of [TEMPLATE]

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3410(line=167, offs=3) -- 3431(line=167, offs=24)
*/
/*
local: 
global: DivideConquer$solve$eval$memo_set$158$1(level=4)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atsvoid_t0ype
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__eval__memo_set__158__1(atstype_boxed arg0, atstype_boxed arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret525__1) ;
/* tmpvardeclst(end) */
ATSfunbody_beg()
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3374(line=166, offs=1) -- 3431(line=167, offs=24)
*/
ATSINSflab(__patsflab_DivideConquer__solve__eval__memo_set):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/node_modules/atscntrb-bucs320-divideconquer/DATS/DivideConquer.dats: 3421(line=167, offs=14) -- 3431(line=167, offs=24)
*/
ATSINSmove_void(tmpret525__1, ATSPMVempty()) ;
ATSfunbody_end()
ATSreturn_void(tmpret525__1) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__eval__memo_set__158__1] */

#if(0)
/*
** for initialization(dynloading)
*/
ATSdynloadflag_minit(_057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_TEST_057_MergeSort_array_int_056_dats__dynloadflag) ;
ATSextern()
atsvoid_t0ype
_057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_TEST_057_MergeSort_array_int_056_dats__dynload()
{
ATSfunbody_beg()
ATSdynload(/*void*/)
ATSdynloadflag_sta(
_057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_TEST_057_MergeSort_array_int_056_dats__dynloadflag
) ;
ATSif(
ATSCKiseqz(
_057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_TEST_057_MergeSort_array_int_056_dats__dynloadflag
)
) ATSthen() {
ATSdynloadset(_057_home_057_hwxi_057_Research_057_ATS_055_Postiats_057_libats_057_BUCS320_057_MergeSort_057_TEST_057_MergeSort_array_int_056_dats__dynloadflag) ;
/*
dynexnlst-initize(beg)
*/
/*
dynexnlst-initize(end)
*/
} /* ATSendif */
ATSfunbody_end()
ATSreturn_void(tmpret_void) ;
} /* end of [*_dynload] */
#endif // end of [#if(0)]

/* ****** ****** */

/* end-of-compilation-unit */
