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

/*
** 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_g0float_compare_double)
ATSdyncst_mac(atspre_g0int2int_int_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_double.dats: 460(line=36, offs=1) -- 495(line=36, offs=36)
*/
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_double), atstkind_t0ype(atstype_double)) ;
#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_double(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_double)), atsrefarg1_type(atstkind_t0ype(atstype_double))) ;
#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_double))), 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_double)), atsrefarg1_type(atstkind_t0ype(atstype_double))) ;

#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_double)), atsrefarg1_type(atstkind_t0ype(atstype_double))) ;

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

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__51(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__51__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

#if(0)
#if(0)
ATSextern()
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_intch__55(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__55__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__61(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__61__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

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

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

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

ATSstatic()
atstkind_t0ype(atstype_bool)
ATSLIB_056_prelude__lte_g0int_int__61__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__55__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__61__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__61__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__55__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__79(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__79__1(atstkind_t0ype(atstype_size), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_intch__55__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__88(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__88__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__90(atstype_boxed) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__divide__90__1(atstype_boxed) ;

#if(0)
#if(0)
ATSextern()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_add_gint__93(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__93__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)) ;

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

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_add_gint__93__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__99(atstype_boxed, atstype_boxed) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

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

ATSstatic()
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__99__1(atstype_boxed, atstype_boxed) ;

#if(0)
#if(0)
ATSextern()
atstype_boxed
ATSLIB_056_libats_056_ML__list0_map__102(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__103(atstype_cloptr, atstyvar_type(a2)) ;
#endif // end of [QUALIFIED]
#endif // end of [TEMPLATE]

ATSstatic()
atstype_boxed
ATSLIB_056_libats_056_ML__list0_map__102__1(atstype_boxed, atstype_cloptr) ;

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

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

ATSstatic()
atstype_boxed
ATSLIB_056_prelude__list_map__105__1(atstype_cloptr, atstype_boxed) ;

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

ATSstatic()
atstype_boxed
ATSLIB_056_prelude__list_map__fopr__103__1(atstype_cloptr, atstype_boxed) ;

ATSstatic()
atstype_boxed
__patsfun_100__100__1(atstype_boxed) ;

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

ATSstatic()
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve_rec__111__1(atstype_boxed) ;

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

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

#if(0)
ATSstatic()
atsvoid_t0ype
merge_115__115(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_116__116(atstkind_t0ype(atstype_double), 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_117__117(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_double), 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__113__1(atstype_boxed, atstype_boxed) ;

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

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

ATSstatic()
atsvoid_t0ype
merge_115__115__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_116__116__1(atstkind_t0ype(atstype_double), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

ATSstatic()
atsvoid_t0ype
merge2_117__117__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_double), 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__124(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__124__1(atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)) ;

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

ATSstatic()
atstkind_t0ype(atstype_double)
ATSLIB_056_prelude_056_unsafe__ptr0_get__127__1(atstkind_type(atstype_ptrk)) ;

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

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__129__1(atstkind_type(atstype_ptrk)) ;

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

#if(0)
#if(0)
ATSextern()
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__132(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__132__1(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_double)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__129__2(atstkind_type(atstype_ptrk)) ;

ATSstatic()
atstkind_t0ype(atstype_double)
ATSLIB_056_prelude_056_unsafe__ptr0_get__127__2(atstkind_type(atstype_ptrk)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__129__3(atstkind_type(atstype_ptrk)) ;

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

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

ATSstatic()
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__132__2(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_double)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__129__4(atstkind_type(atstype_ptrk)) ;

ATSstatic()
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__132__3(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_double)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__129__5(atstkind_type(atstype_ptrk)) ;

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

ATSstatic()
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__132__4(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_double)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__129__6(atstkind_type(atstype_ptrk)) ;

ATSstatic()
atstkind_t0ype(atstype_double)
ATSLIB_056_prelude_056_unsafe__ptr0_get__127__3(atstkind_type(atstype_ptrk)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__129__7(atstkind_type(atstype_ptrk)) ;

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

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

ATSstatic()
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__132__5(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_double)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__129__8(atstkind_type(atstype_ptrk)) ;

ATSstatic()
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__132__6(atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_double)) ;

ATSstatic()
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__129__9(atstkind_type(atstype_ptrk)) ;

#if(0)
#if(0)
ATSextern()
atsvoid_t0ype
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__eval__memo_set__154(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__154__1(atstype_boxed, atstype_boxed) ;

ATSclosurerize_beg(__patsfun_100__100__1, (), (atstype_boxed), atstype_boxed)
typedef
ATSstruct {
atstype_funptr cfun ;
} __patsfun_100__100__1__closure_t0ype ;
ATSstatic()
atstype_boxed
__patsfun_100__100__1__cfun
(
__patsfun_100__100__1__closure_t0ype *p_cenv, atstype_boxed arg0
)
{
ATSFCreturn(__patsfun_100__100__1(arg0)) ;
} /* end of [cfun] */
ATSstatic()
atstype_cloptr
__patsfun_100__100__1__closureinit
(
__patsfun_100__100__1__closure_t0ype *p_cenv
)
{
p_cenv->cfun = __patsfun_100__100__1__cfun ;
return p_cenv ;
} /* end of [closureinit] */
ATSstatic()
atstype_cloptr
__patsfun_100__100__1__closurerize
(
// argumentless
)
{
return __patsfun_100__100__1__closureinit(ATS_MALLOC(sizeof(__patsfun_100__100__1__closure_t0ype))) ;
} /* end of [closurerize] */
ATSclosurerize_end()
#if(0)
/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_double.dats: 536(line=40, offs=3) -- 558(line=40, offs=25)
*/
/*
local: 
global: gcompare_val_val$0$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))
tmpsub = None()
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__gcompare_val_val__0(atstkind_t0ype(atstype_double) arg0, atstkind_t0ype(atstype_double) 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_double.dats: 509(line=39, offs=1) -- 558(line=40, offs=25)
*/
ATSINSflab(__patsflab_gcompare_val_val):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_double.dats: 545(line=40, offs=12) -- 558(line=40, offs=25)
*/
ATSINSmove(tmpret0, PMVtmpltcst(g0float_compare<S2Eextkind(atstype_double)>)(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_double.dats: 606(line=43, offs=35) -- 612(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_double.dats: 572(line=43, offs=1) -- 612(line=43, offs=41)
*/
ATSINSflab(__patsflab_MergeSort_array__cutoff):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_double.dats: 611(line=43, offs=40) -- 612(line=43, offs=41)
*/
ATSINSmove(tmpret1, ATSPMVi0nt(2)) ;
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_double.dats: 648(line=46, offs=23) -- 692(line=46, offs=67)
*/
/*
local: 
global: MergeSort_array_double$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_double(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_double.dats: 626(line=46, offs=1) -- 692(line=46, offs=67)
*/
ATSINSflab(__patsflab_MergeSort_array_double):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_double.dats: 658(line=46, offs=33) -- 692(line=46, offs=67)
*/
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_double] */

#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(g0float_t0ype); S2Eextkind(atstype_double))>)(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(g0float_t0ype); S2Eextkind(atstype_double)))
*/
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(g0float_t0ype); S2Eextkind(atstype_double)))
*/
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_double)))) ;

/*
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__90__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__99__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__154__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_double.dats: 606(line=43, offs=35) -- 612(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_double.dats: 572(line=43, offs=1) -- 612(line=43, offs=41)
*/
ATSINSflab(__patsflab_MergeSort_array__cutoff):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_double.dats: 611(line=43, offs=40) -- 612(line=43, offs=41)
*/
ATSINSmove(tmpret1__1, ATSPMVi0nt(2)) ;
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(g0float_t0ype); S2Eextkind(atstype_double))>)(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(g0float_t0ype); S2Eextkind(atstype_double))
tmpsub = None()
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__array_quicksort__cmp__26(atsrefarg1_type(atstkind_t0ype(atstype_double)) arg0, atsrefarg1_type(atstkind_t0ype(atstype_double)) 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(g0float_t0ype); S2Eextkind(atstype_double))>)(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_double)))) ;

/*
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(g0float_t0ype); S2Eextkind(atstype_double)))
*/
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(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atsvoid_t0ype
ATSLIB_056_prelude__array_quicksort__32__1(atsrefarg1_type(atstyarr_type(atstkind_t0ype(atstype_double))) 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_double)))) ;

/*
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(g0float_t0ype); S2Eextkind(atstype_double))
tmpsub = Some()
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__array_quicksort__cmp__26__1(atsrefarg1_type(atstkind_t0ype(atstype_double)) arg0, atsrefarg1_type(atstkind_t0ype(atstype_double)) 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(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__gcompare_ref_ref__46__1(atsrefarg1_type(atstkind_t0ype(atstype_double)) arg0, atsrefarg1_type(atstkind_t0ype(atstype_double)) 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_double)), ATSderef(arg1, atstkind_t0ype(atstype_double)))) ;

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_double.dats: 536(line=40, offs=3) -- 558(line=40, offs=25)
*/
/*
local: 
global: gcompare_val_val$0$1(level=11)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))
tmpsub = Some()
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__gcompare_val_val__0__1(atstkind_t0ype(atstype_double) arg0, atstkind_t0ype(atstype_double) 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_double.dats: 509(line=39, offs=1) -- 558(line=40, offs=25)
*/
ATSINSflab(__patsflab_gcompare_val_val):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_double.dats: 545(line=40, offs=12) -- 558(line=40, offs=25)
*/
ATSINSmove(tmpret0__1, atspre_g0float_compare_double(arg0, arg1)) ;

ATSfunbody_end()
ATSreturn(tmpret0__1) ;
} /* end of [ATSLIB_056_prelude__gcompare_val_val__0__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__51__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__55__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$51$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__51(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret172, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp173, 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(tmp173, 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(tmpret172, PMVtmpltcst(g0int_gt<S2Evar(tk(4634))>)(arg0, tmp173)) ;

ATSfunbody_end()
ATSreturn(tmpret172) ;
} /* end of [ATSLIB_056_prelude__gt_g0int_int__51] */
#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$51$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__51__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret172__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp173__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(tmp173__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(tmpret172__1, atspre_g0int_gt_int(arg0, tmp173__1)) ;

ATSfunbody_end()
ATSreturn(tmpret172__1) ;
} /* end of [ATSLIB_056_prelude__gt_g0int_int__51__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$55$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = a(5730)
tmparg = S2Evar(a(5730))
tmpsub = None()
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_intch__55(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret176) ;
ATStmpdec(tmp177, 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(tmp177, 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)), tmp177) ;
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2914(line=117, offs=13) -- 2924(line=117, offs=23)
*/
ATSINSmove_void(tmpret176, 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(tmpret176) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_intch__55] */
#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$55$1(level=9)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5730)
tmparg = S2Evar(a(5730))
tmpsub = Some(a(5730) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_intch__55__1(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret176__1) ;
ATStmpdec(tmp177__1, atstkind_t0ype(atstype_double)) ;
/* 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(tmp177__1, ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0)), atstkind_t0ype(atstype_double))) ;
/*
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_double)), ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg1)), atstkind_t0ype(atstype_double))) ;
/*
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_double)), tmp177__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(tmpret176__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(tmpret176__1) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_intch__55__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__61__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__61__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__61__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__61__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__61__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$61$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__61(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret200, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp201, 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(tmp201, 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(tmpret200, PMVtmpltcst(g0int_lte<S2Evar(tk(4633))>)(arg0, tmp201)) ;

ATSfunbody_end()
ATSreturn(tmpret200) ;
} /* end of [ATSLIB_056_prelude__lte_g0int_int__61] */
#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$61$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__61__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret200__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp201__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(tmp201__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(tmpret200__1, atspre_g0int_lte_int(arg0, tmp201__1)) ;

ATSfunbody_end()
ATSreturn(tmpret200__1) ;
} /* end of [ATSLIB_056_prelude__lte_g0int_int__61__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$61$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__61__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret200__2, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp201__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(tmp201__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(tmpret200__2, atspre_g0int_lte_int(arg0, tmp201__2)) ;

ATSfunbody_end()
ATSreturn(tmpret200__2) ;
} /* end of [ATSLIB_056_prelude__lte_g0int_int__61__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$61$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__61__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret200__3, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp201__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(tmp201__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(tmpret200__3, atspre_g0int_lte_int(arg0, tmp201__3)) ;

ATSfunbody_end()
ATSreturn(tmpret200__3) ;
} /* end of [ATSLIB_056_prelude__lte_g0int_int__61__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$61$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__61__4(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret200__4, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp201__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(tmp201__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(tmpret200__4, atspre_g0int_lte_int(arg0, tmp201__4)) ;

ATSfunbody_end()
ATSreturn(tmpret200__4) ;
} /* end of [ATSLIB_056_prelude__lte_g0int_int__61__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$61$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__61__5(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret200__5, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp201__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(tmp201__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(tmpret200__5, atspre_g0int_lte_int(arg0, tmp201__5)) ;

ATSfunbody_end()
ATSreturn(tmpret200__5) ;
} /* end of [ATSLIB_056_prelude__lte_g0int_int__61__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__55__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$55$2(level=9)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5730)
tmparg = S2Evar(a(5730))
tmpsub = Some(a(5730) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_intch__55__2(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret176__2) ;
ATStmpdec(tmp177__2, atstkind_t0ype(atstype_double)) ;
/* 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(tmp177__2, ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0)), atstkind_t0ype(atstype_double))) ;
/*
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_double)), ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg1)), atstkind_t0ype(atstype_double))) ;
/*
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_double)), tmp177__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(tmpret176__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(tmpret176__2) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_intch__55__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__61__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$61$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__61__6(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret200__6, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp201__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(tmp201__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(tmpret200__6, atspre_g0int_lte_int(arg0, tmp201__6)) ;

ATSfunbody_end()
ATSreturn(tmpret200__6) ;
} /* end of [ATSLIB_056_prelude__lte_g0int_int__61__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__61__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$61$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__61__7(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret200__7, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp201__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(tmp201__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(tmpret200__7, atspre_g0int_lte_int(arg0, tmp201__7)) ;

ATSfunbody_end()
ATSreturn(tmpret200__7) ;
} /* end of [ATSLIB_056_prelude__lte_g0int_int__61__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__55__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$55$3(level=9)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5730)
tmparg = S2Evar(a(5730))
tmpsub = Some(a(5730) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_intch__55__3(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret176__3) ;
ATStmpdec(tmp177__3, atstkind_t0ype(atstype_double)) ;
/* 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(tmp177__3, ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0)), atstkind_t0ype(atstype_double))) ;
/*
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_double)), ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg1)), atstkind_t0ype(atstype_double))) ;
/*
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_double)), tmp177__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(tmpret176__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(tmpret176__3) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_intch__55__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__79__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__55__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$79$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__79(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret262, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp263, 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(tmp263, 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(tmpret262, PMVtmpltcst(g0uint_gte<S2Evar(tk(4663))>)(arg0, tmp263)) ;

ATSfunbody_end()
ATSreturn(tmpret262) ;
} /* end of [ATSLIB_056_prelude__gte_g0uint_int__79] */
#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$79$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__79__1(atstkind_t0ype(atstype_size) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret262__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp263__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(tmp263__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(tmpret262__1, atspre_g0uint_gte_size(arg0, tmp263__1)) ;

ATSfunbody_end()
ATSreturn(tmpret262__1) ;
} /* end of [ATSLIB_056_prelude__gte_g0uint_int__79__1] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2705(line=110, offs=3) -- 2974(line=120, offs=2)
*/
/*
local: 
global: ptr0_intch$55$4(level=9)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5730)
tmparg = S2Evar(a(5730))
tmpsub = Some(a(5730) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_intch__55__4(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret176__4) ;
ATStmpdec(tmp177__4, atstkind_t0ype(atstype_double)) ;
/* 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(tmp177__4, ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0)), atstkind_t0ype(atstype_double))) ;
/*
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_double)), ATSderef(ATSPMVcastfn(ptr1_vtake, atstkind_type(atstype_ptrk), ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg1)), atstkind_t0ype(atstype_double))) ;
/*
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_double)), tmp177__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(tmpret176__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(tmpret176__4) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_intch__55__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__88__1(arg2, ATSPMVsizeof(atstkind_t0ype(atstype_double)))) ;

/*
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$88$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstkind_t0ype(atstype_size)
ATSLIB_056_prelude__mul_int1_size1__88(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_size) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret270, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp271, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp272, 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(tmp272, 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(tmp271, PMVtmpltcst(g0uint_mul<S2Eextkind(atstype_size)>)(tmp272, 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(tmpret270, ATSPMVcastfn(cast, atstkind_t0ype(atstype_size), tmp271)) ;
ATSfunbody_end()
ATSreturn(tmpret270) ;
} /* end of [ATSLIB_056_prelude__mul_int1_size1__88] */
#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$88$1(level=6)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_t0ype(atstype_size)
ATSLIB_056_prelude__mul_int1_size1__88__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_size) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret270__1, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp271__1, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp272__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(tmp272__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(tmp271__1, atspre_g0uint_mul_size(tmp272__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(tmpret270__1, ATSPMVcastfn(cast, atstkind_t0ype(atstype_size), tmp271__1)) ;
ATSfunbody_end()
ATSreturn(tmpret270__1) ;
} /* end of [ATSLIB_056_prelude__mul_int1_size1__88__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$90$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__divide__90(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret276, atstype_boxed) ;
ATStmpdec(tmp277, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp278, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp279, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp280, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp281, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp282, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp283, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp284, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp285, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp286, atstype_boxed) ;
ATStmpdec(tmp287, atstype_boxed) ;
ATStmpdec(tmp288, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp289, atstype_boxed) ;
ATStmpdec(tmp290, atstype_boxed) ;
ATStmpdec(tmp291, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp292, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp293, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp294, atstype_boxed) ;
ATStmpdec(tmp295, atstype_boxed) ;
ATStmpdec(tmp296, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp297, atstype_boxed) ;
ATStmpdec(tmp298, 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(tmp277, 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(tmp278, 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(tmp279, 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(tmp283, PMVtmpltcst(g1int_half<S2Eextkind(atstype_int)>)(tmp277)) ;

/* (*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(tmp284, PMVtmpltcst(ptr0_add_gint<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))><S2Eextkind(atstype_int)>)(tmp278, tmp283)) ;

/*
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(tmp285, PMVtmpltcst(ptr0_add_gint<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))><S2Eextkind(atstype_int)>)(tmp279, tmp283)) ;

/*
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(tmp286, postiats_tysum_0) ;
// #if(1)
ATSINSstore_con1_tag(tmp286, 1) ;
// #endif
ATSINSstore_con1_ofs(tmp286, postiats_tysum_0, atslab__0, tmp283) ;
ATSINSstore_con1_ofs(tmp286, postiats_tysum_0, atslab__1, tmp278) ;
ATSINSstore_con1_ofs(tmp286, postiats_tysum_0, atslab__2, tmp279) ;
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(tmp288, PMVtmpltcst(g1int_sub<S2Eextkind(atstype_int)>)(tmp277, tmp283)) ;

/*
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(tmp287, postiats_tysum_0) ;
// #if(1)
ATSINSstore_con1_tag(tmp287, 1) ;
// #endif
ATSINSstore_con1_ofs(tmp287, postiats_tysum_0, atslab__0, tmp288) ;
ATSINSstore_con1_ofs(tmp287, postiats_tysum_0, atslab__1, tmp284) ;
ATSINSstore_con1_ofs(tmp287, postiats_tysum_0, atslab__2, tmp285) ;
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(tmp290) ;

/*
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(tmp289, postiats_tysum_2) ;
#if(0)
ATSINSstore_con1_tag(tmp289, 1) ;
#endif
ATSINSstore_con1_ofs(tmp289, postiats_tysum_2, atslab__0, tmp287) ;
ATSINSstore_con1_ofs(tmp289, postiats_tysum_2, atslab__1, tmp290) ;
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(tmpret276, postiats_tysum_2) ;
#if(0)
ATSINSstore_con1_tag(tmpret276, 1) ;
#endif
ATSINSstore_con1_ofs(tmpret276, postiats_tysum_2, atslab__0, tmp286) ;
ATSINSstore_con1_ofs(tmpret276, postiats_tysum_2, atslab__1, tmp289) ;
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(tmp280, 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(tmp281, 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(tmp282, 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(tmp291, PMVtmpltcst(g1int_half<S2Eextkind(atstype_int)>)(tmp280)) ;

/* (*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(tmp292, PMVtmpltcst(ptr0_add_gint<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))><S2Eextkind(atstype_int)>)(tmp281, tmp291)) ;

/*
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(tmp293, PMVtmpltcst(ptr0_add_gint<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))><S2Eextkind(atstype_int)>)(tmp282, tmp291)) ;

/*
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(tmp294, postiats_tysum_0) ;
// #if(1)
ATSINSstore_con1_tag(tmp294, 0) ;
// #endif
ATSINSstore_con1_ofs(tmp294, postiats_tysum_0, atslab__0, tmp291) ;
ATSINSstore_con1_ofs(tmp294, postiats_tysum_0, atslab__1, tmp281) ;
ATSINSstore_con1_ofs(tmp294, postiats_tysum_0, atslab__2, tmp282) ;
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(tmp296, PMVtmpltcst(g1int_sub<S2Eextkind(atstype_int)>)(tmp280, tmp291)) ;

/*
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(tmp295, postiats_tysum_0) ;
// #if(1)
ATSINSstore_con1_tag(tmp295, 0) ;
// #endif
ATSINSstore_con1_ofs(tmp295, postiats_tysum_0, atslab__0, tmp296) ;
ATSINSstore_con1_ofs(tmp295, postiats_tysum_0, atslab__1, tmp292) ;
ATSINSstore_con1_ofs(tmp295, postiats_tysum_0, atslab__2, tmp293) ;
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(tmp298) ;

/*
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(tmp297, postiats_tysum_2) ;
#if(0)
ATSINSstore_con1_tag(tmp297, 1) ;
#endif
ATSINSstore_con1_ofs(tmp297, postiats_tysum_2, atslab__0, tmp295) ;
ATSINSstore_con1_ofs(tmp297, postiats_tysum_2, atslab__1, tmp298) ;
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(tmpret276, postiats_tysum_2) ;
#if(0)
ATSINSstore_con1_tag(tmpret276, 1) ;
#endif
ATSINSstore_con1_ofs(tmpret276, postiats_tysum_2, atslab__0, tmp294) ;
ATSINSstore_con1_ofs(tmpret276, postiats_tysum_2, atslab__1, tmp297) ;
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(tmpret276) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__divide__90] */
#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$90$1(level=4)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__divide__90__1(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret276__1, atstype_boxed) ;
ATStmpdec(tmp277__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp278__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp279__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp280__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp281__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp282__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp283__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp284__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp285__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp286__1, atstype_boxed) ;
ATStmpdec(tmp287__1, atstype_boxed) ;
ATStmpdec(tmp288__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp289__1, atstype_boxed) ;
ATStmpdec(tmp290__1, atstype_boxed) ;
ATStmpdec(tmp291__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp292__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp293__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp294__1, atstype_boxed) ;
ATStmpdec(tmp295__1, atstype_boxed) ;
ATStmpdec(tmp296__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp297__1, atstype_boxed) ;
ATStmpdec(tmp298__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(tmp277__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(tmp278__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(tmp279__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(tmp283__1, atspre_g1int_half_int(tmp277__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(tmp284__1, ATSLIB_056_prelude__ptr0_add_gint__93__1(tmp278__1, tmp283__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(tmp285__1, ATSLIB_056_prelude__ptr0_add_gint__93__2(tmp279__1, tmp283__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(tmp286__1, postiats_tysum_0) ;
// #if(1)
ATSINSstore_con1_tag(tmp286__1, 1) ;
// #endif
ATSINSstore_con1_ofs(tmp286__1, postiats_tysum_0, atslab__0, tmp283__1) ;
ATSINSstore_con1_ofs(tmp286__1, postiats_tysum_0, atslab__1, tmp278__1) ;
ATSINSstore_con1_ofs(tmp286__1, postiats_tysum_0, atslab__2, tmp279__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(tmp288__1, atspre_g1int_sub_int(tmp277__1, tmp283__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(tmp287__1, postiats_tysum_0) ;
// #if(1)
ATSINSstore_con1_tag(tmp287__1, 1) ;
// #endif
ATSINSstore_con1_ofs(tmp287__1, postiats_tysum_0, atslab__0, tmp288__1) ;
ATSINSstore_con1_ofs(tmp287__1, postiats_tysum_0, atslab__1, tmp284__1) ;
ATSINSstore_con1_ofs(tmp287__1, postiats_tysum_0, atslab__2, tmp285__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(tmp290__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(tmp289__1, postiats_tysum_2) ;
#if(0)
ATSINSstore_con1_tag(tmp289__1, 1) ;
#endif
ATSINSstore_con1_ofs(tmp289__1, postiats_tysum_2, atslab__0, tmp287__1) ;
ATSINSstore_con1_ofs(tmp289__1, postiats_tysum_2, atslab__1, tmp290__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(tmpret276__1, postiats_tysum_2) ;
#if(0)
ATSINSstore_con1_tag(tmpret276__1, 1) ;
#endif
ATSINSstore_con1_ofs(tmpret276__1, postiats_tysum_2, atslab__0, tmp286__1) ;
ATSINSstore_con1_ofs(tmpret276__1, postiats_tysum_2, atslab__1, tmp289__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(tmp280__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(tmp281__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(tmp282__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(tmp291__1, atspre_g1int_half_int(tmp280__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(tmp292__1, ATSLIB_056_prelude__ptr0_add_gint__93__3(tmp281__1, tmp291__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(tmp293__1, ATSLIB_056_prelude__ptr0_add_gint__93__4(tmp282__1, tmp291__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(tmp294__1, postiats_tysum_0) ;
// #if(1)
ATSINSstore_con1_tag(tmp294__1, 0) ;
// #endif
ATSINSstore_con1_ofs(tmp294__1, postiats_tysum_0, atslab__0, tmp291__1) ;
ATSINSstore_con1_ofs(tmp294__1, postiats_tysum_0, atslab__1, tmp281__1) ;
ATSINSstore_con1_ofs(tmp294__1, postiats_tysum_0, atslab__2, tmp282__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(tmp296__1, atspre_g1int_sub_int(tmp280__1, tmp291__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(tmp295__1, postiats_tysum_0) ;
// #if(1)
ATSINSstore_con1_tag(tmp295__1, 0) ;
// #endif
ATSINSstore_con1_ofs(tmp295__1, postiats_tysum_0, atslab__0, tmp296__1) ;
ATSINSstore_con1_ofs(tmp295__1, postiats_tysum_0, atslab__1, tmp292__1) ;
ATSINSstore_con1_ofs(tmp295__1, postiats_tysum_0, atslab__2, tmp293__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(tmp298__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(tmp297__1, postiats_tysum_2) ;
#if(0)
ATSINSstore_con1_tag(tmp297__1, 1) ;
#endif
ATSINSstore_con1_ofs(tmp297__1, postiats_tysum_2, atslab__0, tmp295__1) ;
ATSINSstore_con1_ofs(tmp297__1, postiats_tysum_2, atslab__1, tmp298__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(tmpret276__1, postiats_tysum_2) ;
#if(0)
ATSINSstore_con1_tag(tmpret276__1, 1) ;
#endif
ATSINSstore_con1_ofs(tmpret276__1, postiats_tysum_2, atslab__0, tmp294__1) ;
ATSINSstore_con1_ofs(tmpret276__1, postiats_tysum_2, atslab__1, tmp297__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(tmpret276__1) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__divide__90__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$93$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__93(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstyvar_type(tk)) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret322, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp323, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp324, 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(tmp324, 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(tmp323, PMVtmpltcst(g0uint_mul<S2Eextkind(atstype_size)>)(tmp324, 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(tmpret322, atspre_add_ptr0_bsz(arg0, tmp323)) ;

ATSfunbody_end()
ATSreturn(tmpret322) ;
} /* end of [ATSLIB_056_prelude__ptr0_add_gint__93] */
#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$93$1(level=5)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4692), tk(4693)
tmparg = S2Evar(a(4692)); S2Evar(tk(4693))
tmpsub = Some(a(4692) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)); tk(4693) -> S2Eextkind(atstype_int))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_add_gint__93__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret322__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp323__1, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp324__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(tmp324__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(tmp323__1, atspre_g0uint_mul_size(tmp324__1, ATSPMVsizeof(atstkind_t0ype(atstype_double)))) ;

/*
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(tmpret322__1, atspre_add_ptr0_bsz(arg0, tmp323__1)) ;

ATSfunbody_end()
ATSreturn(tmpret322__1) ;
} /* end of [ATSLIB_056_prelude__ptr0_add_gint__93__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$93$2(level=5)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4692), tk(4693)
tmparg = S2Evar(a(4692)); S2Evar(tk(4693))
tmpsub = Some(a(4692) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)); tk(4693) -> S2Eextkind(atstype_int))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_add_gint__93__2(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret322__2, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp323__2, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp324__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(tmp324__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(tmp323__2, atspre_g0uint_mul_size(tmp324__2, ATSPMVsizeof(atstkind_t0ype(atstype_double)))) ;

/*
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(tmpret322__2, atspre_add_ptr0_bsz(arg0, tmp323__2)) ;

ATSfunbody_end()
ATSreturn(tmpret322__2) ;
} /* end of [ATSLIB_056_prelude__ptr0_add_gint__93__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$93$3(level=5)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4692), tk(4693)
tmparg = S2Evar(a(4692)); S2Evar(tk(4693))
tmpsub = Some(a(4692) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)); tk(4693) -> S2Eextkind(atstype_int))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_add_gint__93__3(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret322__3, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp323__3, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp324__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(tmp324__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(tmp323__3, atspre_g0uint_mul_size(tmp324__3, ATSPMVsizeof(atstkind_t0ype(atstype_double)))) ;

/*
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(tmpret322__3, atspre_add_ptr0_bsz(arg0, tmp323__3)) ;

ATSfunbody_end()
ATSreturn(tmpret322__3) ;
} /* end of [ATSLIB_056_prelude__ptr0_add_gint__93__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$93$4(level=5)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4692), tk(4693)
tmparg = S2Evar(a(4692)); S2Evar(tk(4693))
tmpsub = Some(a(4692) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)); tk(4693) -> S2Eextkind(atstype_int))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_add_gint__93__4(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret322__4, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp323__4, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp324__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(tmp324__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(tmp323__4, atspre_g0uint_mul_size(tmp324__4, ATSPMVsizeof(atstkind_t0ype(atstype_double)))) ;

/*
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(tmpret322__4, atspre_add_ptr0_bsz(arg0, tmp323__4)) ;

ATSfunbody_end()
ATSreturn(tmpret322__4) ;
} /* end of [ATSLIB_056_prelude__ptr0_add_gint__93__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$99$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__99(atstype_boxed arg0, atstype_boxed arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret337, atstype_boxed) ;
ATStmpdec(tmp338, 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(tmp338, PMVtmpltcst(list0_map<S2Ecst(input_t0ype)><S2Ecst(output_t0ype)>)(arg1, ATSPMVcfunlab(-1, __patsfun_100__100, ()))) ;

/*
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(tmpret337, PMVtmpltcst(DivideConquer$conquer$combine<>)(arg0, tmp338)) ;

/*
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(tmpret337) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__99] */
#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_100$0(level=1)
local: 
global: 
*/
ATSstatic()
atstype_boxed
__patsfun_100__100(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret339, 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_100):
/*
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(tmpret339, PMVtmpltcst(DivideConquer$solve_rec<>)(arg0)) ;

ATSfunbody_end()
ATSreturn(tmpret339) ;
} /* end of [__patsfun_100__100] */
#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$99$1(level=4)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__99__1(atstype_boxed arg0, atstype_boxed arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret337__1, atstype_boxed) ;
ATStmpdec(tmp338__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(tmp338__1, ATSLIB_056_libats_056_ML__list0_map__102__1(arg1, ATSPMVcfunlab(-1, __patsfun_100__100__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(tmpret337__1, ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__combine__113__1(arg0, tmp338__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(tmpret337__1) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__99__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$102$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__102(atstype_boxed arg0, atstype_cloptr arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret342, atstype_boxed) ;
ATStmpdec(tmp345, 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(tmp345, 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(tmpret342, ATSPMVcastfn(list0_of_list_vt, atstype_boxed, tmp345)) ;
/*
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(tmpret342) ;
} /* end of [ATSLIB_056_libats_056_ML__list0_map__102] */
#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$103$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__103(atstype_cloptr env0, atstyvar_type(a2) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret343, atstyvar_type(b2)) ;
ATStmpdec(tmp344, 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(tmp344, 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(tmpret343, ATSPMVcastfn(castvwtp0, atstyvar_type(b2), tmp344)) ;
ATSfunbody_end()
ATSreturn(tmpret343) ;
} /* end of [ATSLIB_056_prelude__list_map__fopr__103] */
#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$102$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__102__1(atstype_boxed arg0, atstype_cloptr arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret342__1, atstype_boxed) ;
ATStmpdec(tmp345__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(tmp345__1, ATSLIB_056_prelude__list_map__105__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(tmpret342__1, ATSPMVcastfn(list0_of_list_vt, atstype_boxed, tmp345__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(tmpret342__1) ;
} /* end of [ATSLIB_056_libats_056_ML__list0_map__102__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$105$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__105(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret348, atstype_boxed) ;
ATStmpdec(tmpref356, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp357) ;
/* 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(tmpref356) ;
*/
/*
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(tmp357, ATSfunclo_fun(PMVd2vfunlab(d2v=loop$1814(1), flab=loop_106$0(level=1)), (atstype_boxed, atsrefarg1_type(atstkind_type(atstype_ptrk))), atsvoid_t0ype)(arg0, ATSPMVrefarg1(ATSPMVptrof(tmpref356)))) ;

/*
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(tmpret348, tmpref356) ;
/*
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(tmpret348) ;
} /* end of [ATSLIB_056_prelude__list_map__105] */
#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_106$0(level=1)
global: loop_106$0(level=1)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
loop_106__106(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(tmpret349) ;
ATStmpdec(tmp350, atstyvar_type(x)) ;
ATStmpdec(tmp351, atstype_boxed) ;
ATStmpdec(tmp352, atstyvar_type(y)) ;
ATStmpdec(tmp353, atstype_datcontyp) ;
ATStmpdec(tmp354, atstype_datcontyp) ;
ATStmpdec(tmp355, 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_106):
/*
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(tmp350, 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(tmp351, 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(tmp352, PMVtmpltcst(list_map$fopr<S2Evar(x(6198))><S2Evar(y(6199))>)(tmp350)) ;

/*
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(tmp353, postiats_tysum_4) ;
#if(0)
ATSINSstore_con1_tag(tmp353, 1) ;
#endif
ATSINSstore_con1_ofs(tmp353, postiats_tysum_4, atslab__0, tmp352) ;
#if(0)
ATSINSstore_con1_ofs(tmp353, 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)), tmp353) ;
/*
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(tmp354, 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(tmp354)) { 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, tmp351) ;
ATSINSmove_tlcal(apy1, ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp354, postiats_tysum_5, atslab__1)))) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSfgoto(__patsflab_loop_106) ;
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(tmp355) ;

/*
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)), tmp355) ;
/*
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(tmpret349, ATSPMVempty()) ;
ATSbranch_end()

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

ATSfunbody_end()
ATSreturn_void(tmpret349) ;
} /* end of [loop_106__106] */
#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$105$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__105__1(atstype_cloptr env0, atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret348__1, atstype_boxed) ;
ATStmpdec(tmpref356__1, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp357__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(tmpref356) ;
*/
/*
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(tmp357__1, loop_106__106__1(env0, arg0, ATSPMVrefarg1(ATSPMVptrof(tmpref356__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(tmpret348__1, tmpref356__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(tmpret348__1) ;
} /* end of [ATSLIB_056_prelude__list_map__105__1] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/list.dats: 25777(line=1512, offs=5) -- 26229(line=1531, offs=2)
*/
/*
local: loop_106$1(level=7)
global: loop_106$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_106__106__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(tmpret349__1) ;
ATStmpdec(tmp350__1, atstype_boxed) ;
ATStmpdec(tmp351__1, atstype_boxed) ;
ATStmpdec(tmp352__1, atstype_boxed) ;
ATStmpdec(tmp353__1, atstype_datcontyp) ;
ATStmpdec(tmp354__1, atstype_datcontyp) ;
ATStmpdec(tmp355__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_106):
/*
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(tmp350__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(tmp351__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(tmp352__1, ATSLIB_056_prelude__list_map__fopr__103__1(env0, tmp350__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(tmp353__1, postiats_tysum_2) ;
#if(0)
ATSINSstore_con1_tag(tmp353__1, 1) ;
#endif
ATSINSstore_con1_ofs(tmp353__1, postiats_tysum_2, atslab__0, tmp352__1) ;
#if(0)
ATSINSstore_con1_ofs(tmp353__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)), tmp353__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(tmp354__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(tmp354__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, tmp351__1) ;
ATSINSmove_tlcal(apy1, ATSPMVrefarg1(ATSPMVptrof(ATSSELcon(tmp354__1, postiats_tysum_6, atslab__1)))) ;
ATSINSargmove_tlcal(arg0, apy0) ;
ATSINSargmove_tlcal(arg1, apy1) ;
ATSINSfgoto(__patsflab_loop_106) ;
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(tmp355__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)), tmp355__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(tmpret349__1, ATSPMVempty()) ;
ATSbranch_end()

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

ATSfunbody_end()
ATSreturn_void(tmpret349__1) ;
} /* end of [loop_106__106__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$103$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__103__1(atstype_cloptr env0, atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret343__1, atstype_boxed) ;
ATStmpdec(tmp344__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(tmp344__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(tmpret343__1, ATSPMVcastfn(castvwtp0, atstype_boxed, tmp344__1)) ;
ATSfunbody_end()
ATSreturn(tmpret343__1) ;
} /* end of [ATSLIB_056_prelude__list_map__fopr__103__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_100$1(level=5)
local: 
global: 
*/
ATSstatic()
atstype_boxed
__patsfun_100__100__1(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret339__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_100):
/*
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(tmpret339__1, ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve_rec__111__1(arg0)) ;

ATSfunbody_end()
ATSreturn(tmpret339__1) ;
} /* end of [__patsfun_100__100__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$111$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve_rec__111(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret371, 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(tmpret371, PMVtmpltcst(DivideConquer$solve<>)(arg0)) ;

ATSfunbody_end()
ATSreturn(tmpret371) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve_rec__111] */
#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$111$1(level=6)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve_rec__111__1(atstype_boxed arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret371__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(tmpret371__1, ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__10__1(arg0)) ;

ATSfunbody_end()
ATSreturn(tmpret371__1) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve_rec__111__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$113$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__combine__113(atstype_boxed arg0, atstype_boxed arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret373, atstype_boxed) ;
ATStmpdec(tmp409, atstype_boxed) ;
ATStmpdec(tmp410, atstype_boxed) ;
ATStmpdec(tmp411, atstype_boxed) ;
ATStmpdec(tmp413, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp417, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp418, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp419, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp420, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp421, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp422) ;
ATStmpdec(tmp423, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp424, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp425, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp426, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp427) ;
/* 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(tmp409, 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(tmp410, 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(tmp410)) { 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(tmp411, ATSSELcon(tmp410, 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(tmp413, 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(tmp409, 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(tmp418, ATSSELcon(tmp409, 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(tmp419, ATSSELcon(tmp409, 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(tmp411, 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(tmp420, ATSSELcon(tmp411, 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(tmp421, ATSSELcon(tmp411, 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(tmp422, ATSfunclo_fun(PMVd2vfunlab(d2v=merge$7490(1), flab=merge_115$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)(tmp419, tmp421, tmp413, tmp418, tmp420)) ;

/*
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(tmpret373, 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(tmp417, 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(tmp409, 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(tmp423, ATSSELcon(tmp409, 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(tmp424, ATSSELcon(tmp409, 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(tmp411, 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(tmp425, ATSSELcon(tmp411, 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(tmp426, ATSSELcon(tmp411, 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(tmp427, ATSfunclo_fun(PMVd2vfunlab(d2v=merge$7490(1), flab=merge_115$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)(tmp424, tmp426, tmp417, tmp423, tmp425)) ;

/*
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(tmpret373, 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(tmpret373) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__combine__113] */
#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_114$0(level=1)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
copy_114__114(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_t0ype(atstype_int) arg2)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret374) ;
ATStmpdec(tmp375, 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_114):
/*
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(tmp375, PMVtmpltcst(mul_int1_size1<>)(arg2, ATSPMVsizeof(atstkind_t0ype(atstype_double)))) ;

/*
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(tmpret374, ATSextfcall(atspre_array_memcpy, (arg1, arg0, tmp375))) ;
ATSfunbody_end()
ATSreturn_void(tmpret374) ;
} /* end of [copy_114__114] */
#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_114$0(level=1), merge1_116$0(level=1)
global: copy_114$0(level=1), merge_115$0(level=1), merge1_116$0(level=1), merge2_117$0(level=1)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
merge_115__115(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(tmpret376) ;
ATStmpdec(tmp377, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp378, atstkind_t0ype(atstype_double)) ;
ATStmpdec(tmp379, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp380, 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_115):
/*
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(tmp377, 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(
tmp377
) 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(tmpret376, ATSfunclo_fun(PMVd2vfunlab(d2v=copy$7486(1), flab=copy_114$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(tmp378, PMVtmpltcst(ptr0_get<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))>)(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(tmp379, PMVtmpltcst(ptr0_succ<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))>)(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(tmp380, 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(tmpret376, ATSfunclo_fun(PMVd2vfunlab(d2v=merge1$7491(1), flab=merge1_116$0(level=1)), (atstkind_t0ype(atstype_double), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)), atsvoid_t0ype)(tmp378, tmp379, arg1, arg2, tmp380, 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(tmpret376) ;
} /* end of [merge_115__115] */
#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_114$0(level=1), merge1_116$0(level=1), merge2_117$0(level=1)
global: copy_114$0(level=1), merge1_116$0(level=1), merge2_117$0(level=1)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
merge1_116__116(atstkind_t0ype(atstype_double) 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_double)) ;
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(tmpret381) ;
ATStmpdec(tmp382, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp383) ;
ATStmpdec(tmp384, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp385, atstkind_t0ype(atstype_double)) ;
ATStmpdec(tmp386, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp387, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp388, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp389) ;
ATStmpdec(tmp390, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp391, atstkind_t0ype(atstype_int)) ;
// ATStmpdec_void(tmp392) ;
ATStmpdec(tmp393, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp394, 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_116):
/*
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(tmp382, 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(
tmp382
) 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(tmp383, PMVtmpltcst(ptr0_set<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))>)(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(tmp384, PMVtmpltcst(ptr0_succ<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))>)(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(tmpret381, ATSfunclo_fun(PMVd2vfunlab(d2v=copy$7486(1), flab=copy_114$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)), atsvoid_t0ype)(arg1, tmp384, 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(tmp385, PMVtmpltcst(ptr0_get<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))>)(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(tmp386, PMVtmpltcst(ptr0_succ<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))>)(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(tmp387, PMVtmpltcst(gcompare_val_val<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))>)(arg0, tmp385)) ;

/*
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(tmp388, PMVtmpltcst(lte_g0int_int<S2Eextkind(atstype_int)>)(tmp387, 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(
tmp388
) 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(tmp389, PMVtmpltcst(ptr0_set<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))>)(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(tmp390, PMVtmpltcst(ptr0_succ<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))>)(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(tmp391, 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(tmpret381, ATSfunclo_fun(PMVd2vfunlab(d2v=merge2$7492(1), flab=merge2_117$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_double), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)), atsvoid_t0ype)(arg1, tmp385, tmp386, tmp390, arg4, tmp391)) ;

/*
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(tmp392, PMVtmpltcst(ptr0_set<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))>)(arg3, tmp385)) ;

/*
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(tmp393, PMVtmpltcst(ptr0_succ<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))>)(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(tmp394, 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, tmp386) ;
ATSINSmove_tlcal(apy3, tmp393) ;
ATSINSmove_tlcal(apy4, arg4) ;
ATSINSmove_tlcal(apy5, tmp394) ;
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_116) ;
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(tmpret381) ;
} /* end of [merge1_116__116] */
#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_114$0(level=1), merge1_116$0(level=1), merge2_117$0(level=1)
global: copy_114$0(level=1), merge1_116$0(level=1), merge2_117$0(level=1)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
merge2_117__117(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_double) 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_double)) ;
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(tmpret395) ;
ATStmpdec(tmp396, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp397) ;
ATStmpdec(tmp398, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp399, atstkind_t0ype(atstype_double)) ;
ATStmpdec(tmp400, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp401, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp402, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp403) ;
ATStmpdec(tmp404, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp405, atstkind_t0ype(atstype_int)) ;
// ATStmpdec_void(tmp406) ;
ATStmpdec(tmp407, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp408, 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_117):
/*
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(tmp396, 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(
tmp396
) 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(tmp397, PMVtmpltcst(ptr0_set<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))>)(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(tmp398, PMVtmpltcst(ptr0_succ<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))>)(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(tmpret395, ATSfunclo_fun(PMVd2vfunlab(d2v=copy$7486(1), flab=copy_114$0(level=1)), (atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int)), atsvoid_t0ype)(arg2, tmp398, 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(tmp399, PMVtmpltcst(ptr0_get<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))>)(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(tmp400, PMVtmpltcst(ptr0_succ<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))>)(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(tmp401, PMVtmpltcst(gcompare_val_val<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))>)(tmp399, 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(tmp402, PMVtmpltcst(lte_g0int_int<S2Eextkind(atstype_int)>)(tmp401, 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(
tmp402
) 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(tmp403, PMVtmpltcst(ptr0_set<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))>)(arg3, tmp399)) ;

/*
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(tmp404, PMVtmpltcst(ptr0_succ<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))>)(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(tmp405, 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, tmp400) ;
ATSINSmove_tlcal(apy1, arg1) ;
ATSINSmove_tlcal(apy2, arg2) ;
ATSINSmove_tlcal(apy3, tmp404) ;
ATSINSmove_tlcal(apy4, tmp405) ;
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_117) ;
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(tmp406, PMVtmpltcst(ptr0_set<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))>)(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(tmp407, PMVtmpltcst(ptr0_succ<S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))>)(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(tmp408, 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(tmpret395, ATSfunclo_fun(PMVd2vfunlab(d2v=merge1$7491(1), flab=merge1_116$0(level=1)), (atstkind_t0ype(atstype_double), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_type(atstype_ptrk), atstkind_t0ype(atstype_int), atstkind_t0ype(atstype_int)), atsvoid_t0ype)(tmp399, tmp400, arg2, tmp407, tmp408, 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(tmpret395) ;
} /* end of [merge2_117__117] */
#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$113$1(level=5)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstype_boxed
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__combine__113__1(atstype_boxed arg0, atstype_boxed arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret373__1, atstype_boxed) ;
ATStmpdec(tmp409__1, atstype_boxed) ;
ATStmpdec(tmp410__1, atstype_boxed) ;
ATStmpdec(tmp411__1, atstype_boxed) ;
ATStmpdec(tmp413__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp417__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp418__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp419__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp420__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp421__1, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp422__1) ;
ATStmpdec(tmp423__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp424__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp425__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp426__1, atstkind_type(atstype_ptrk)) ;
// ATStmpdec_void(tmp427__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(tmp409__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(tmp410__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(tmp410__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(tmp411__1, ATSSELcon(tmp410__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(tmp413__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(tmp409__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(tmp418__1, ATSSELcon(tmp409__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(tmp419__1, ATSSELcon(tmp409__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(tmp411__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(tmp420__1, ATSSELcon(tmp411__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(tmp421__1, ATSSELcon(tmp411__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(tmp422__1, merge_115__115__1(tmp419__1, tmp421__1, tmp413__1, tmp418__1, tmp420__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(tmpret373__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(tmp417__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(tmp409__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(tmp423__1, ATSSELcon(tmp409__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(tmp424__1, ATSSELcon(tmp409__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(tmp411__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(tmp425__1, ATSSELcon(tmp411__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(tmp426__1, ATSSELcon(tmp411__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(tmp427__1, merge_115__115__1(tmp424__1, tmp426__1, tmp417__1, tmp423__1, tmp425__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(tmpret373__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(tmpret373__1) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__conquer__combine__113__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_114$1(level=6)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
copy_114__114__1(atstkind_type(atstype_ptrk) arg0, atstkind_type(atstype_ptrk) arg1, atstkind_t0ype(atstype_int) arg2)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret374__1) ;
ATStmpdec(tmp375__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_114):
/*
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(tmp375__1, ATSLIB_056_prelude__mul_int1_size1__88__2(arg2, ATSPMVsizeof(atstkind_t0ype(atstype_double)))) ;

/*
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(tmpret374__1, ATSextfcall(atspre_array_memcpy, (arg1, arg0, tmp375__1))) ;
ATSfunbody_end()
ATSreturn_void(tmpret374__1) ;
} /* end of [copy_114__114__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$88$2(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atstkind_t0ype(atstype_size)
ATSLIB_056_prelude__mul_int1_size1__88__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_size) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret270__2, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp271__2, atstkind_t0ype(atstype_size)) ;
ATStmpdec(tmp272__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(tmp272__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(tmp271__2, atspre_g0uint_mul_size(tmp272__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(tmpret270__2, ATSPMVcastfn(cast, atstkind_t0ype(atstype_size), tmp271__2)) ;
ATSfunbody_end()
ATSreturn(tmpret270__2) ;
} /* end of [ATSLIB_056_prelude__mul_int1_size1__88__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_114$1(level=6), merge1_116$1(level=6)
global: copy_114$1(level=6), merge_115$1(level=6), merge1_116$1(level=6), merge2_117$1(level=6)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
merge_115__115__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(tmpret376__1) ;
ATStmpdec(tmp377__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp378__1, atstkind_t0ype(atstype_double)) ;
ATStmpdec(tmp379__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp380__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_115):
/*
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(tmp377__1, ATSLIB_056_prelude__eq_g1int_int__124__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(
tmp377__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(tmpret376__1, copy_114__114__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(tmp378__1, ATSLIB_056_prelude_056_unsafe__ptr0_get__127__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(tmp379__1, ATSLIB_056_prelude__ptr0_succ__129__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(tmp380__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(tmpret376__1, merge1_116__116__1(tmp378__1, tmp379__1, arg1, arg2, tmp380__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(tmpret376__1) ;
} /* end of [merge_115__115__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_114$1(level=6), merge1_116$1(level=6), merge2_117$1(level=6)
global: copy_114$1(level=6), merge1_116$1(level=6), merge2_117$1(level=6)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
merge1_116__116__1(atstkind_t0ype(atstype_double) 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_double)) ;
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(tmpret381__1) ;
ATStmpdec(tmp382__1, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp383__1) ;
ATStmpdec(tmp384__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp385__1, atstkind_t0ype(atstype_double)) ;
ATStmpdec(tmp386__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp387__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp388__1, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp389__1) ;
ATStmpdec(tmp390__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp391__1, atstkind_t0ype(atstype_int)) ;
// ATStmpdec_void(tmp392__1) ;
ATStmpdec(tmp393__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp394__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_116):
/*
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(tmp382__1, ATSLIB_056_prelude__eq_g1int_int__124__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(
tmp382__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(tmp383__1, ATSLIB_056_prelude_056_unsafe__ptr0_set__132__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(tmp384__1, ATSLIB_056_prelude__ptr0_succ__129__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(tmpret381__1, copy_114__114__1(arg1, tmp384__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(tmp385__1, ATSLIB_056_prelude_056_unsafe__ptr0_get__127__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(tmp386__1, ATSLIB_056_prelude__ptr0_succ__129__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(tmp387__1, ATSLIB_056_prelude__gcompare_val_val__0__2(arg0, tmp385__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(tmp388__1, ATSLIB_056_prelude__lte_g0int_int__61__8(tmp387__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(
tmp388__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(tmp389__1, ATSLIB_056_prelude_056_unsafe__ptr0_set__132__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(tmp390__1, ATSLIB_056_prelude__ptr0_succ__129__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(tmp391__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(tmpret381__1, merge2_117__117__1(arg1, tmp385__1, tmp386__1, tmp390__1, arg4, tmp391__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(tmp392__1, ATSLIB_056_prelude_056_unsafe__ptr0_set__132__3(arg3, tmp385__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(tmp393__1, ATSLIB_056_prelude__ptr0_succ__129__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(tmp394__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, tmp386__1) ;
ATSINSmove_tlcal(apy3, tmp393__1) ;
ATSINSmove_tlcal(apy4, arg4) ;
ATSINSmove_tlcal(apy5, tmp394__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_116) ;
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(tmpret381__1) ;
} /* end of [merge1_116__116__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_114$1(level=6), merge1_116$1(level=6), merge2_117$1(level=6)
global: copy_114$1(level=6), merge1_116$1(level=6), merge2_117$1(level=6)
local: 
global: 
*/
ATSstatic()
atsvoid_t0ype
merge2_117__117__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_double) 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_double)) ;
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(tmpret395__1) ;
ATStmpdec(tmp396__1, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp397__1) ;
ATStmpdec(tmp398__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp399__1, atstkind_t0ype(atstype_double)) ;
ATStmpdec(tmp400__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp401__1, atstkind_t0ype(atstype_int)) ;
ATStmpdec(tmp402__1, atstkind_t0ype(atstype_bool)) ;
// ATStmpdec_void(tmp403__1) ;
ATStmpdec(tmp404__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp405__1, atstkind_t0ype(atstype_int)) ;
// ATStmpdec_void(tmp406__1) ;
ATStmpdec(tmp407__1, atstkind_type(atstype_ptrk)) ;
ATStmpdec(tmp408__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_117):
/*
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(tmp396__1, ATSLIB_056_prelude__eq_g1int_int__124__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(
tmp396__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(tmp397__1, ATSLIB_056_prelude_056_unsafe__ptr0_set__132__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(tmp398__1, ATSLIB_056_prelude__ptr0_succ__129__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(tmpret395__1, copy_114__114__1(arg2, tmp398__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(tmp399__1, ATSLIB_056_prelude_056_unsafe__ptr0_get__127__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(tmp400__1, ATSLIB_056_prelude__ptr0_succ__129__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(tmp401__1, ATSLIB_056_prelude__gcompare_val_val__0__3(tmp399__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(tmp402__1, ATSLIB_056_prelude__lte_g0int_int__61__9(tmp401__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(
tmp402__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(tmp403__1, ATSLIB_056_prelude_056_unsafe__ptr0_set__132__5(arg3, tmp399__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(tmp404__1, ATSLIB_056_prelude__ptr0_succ__129__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(tmp405__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, tmp400__1) ;
ATSINSmove_tlcal(apy1, arg1) ;
ATSINSmove_tlcal(apy2, arg2) ;
ATSINSmove_tlcal(apy3, tmp404__1) ;
ATSINSmove_tlcal(apy4, tmp405__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_117) ;
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(tmp406__1, ATSLIB_056_prelude_056_unsafe__ptr0_set__132__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(tmp407__1, ATSLIB_056_prelude__ptr0_succ__129__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(tmp408__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(tmpret395__1, merge1_116__116__1(tmp399__1, tmp400__1, arg2, tmp407__1, tmp408__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(tmpret395__1) ;
} /* end of [merge2_117__117__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$124$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__124(atstkind_t0ype(atstyvar_type(tk)) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret454, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp455, 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(tmp455, 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(tmpret454, PMVtmpltcst(g1int_eq<S2Evar(tk(4651))>)(arg0, tmp455)) ;

ATSfunbody_end()
ATSreturn(tmpret454) ;
} /* end of [ATSLIB_056_prelude__eq_g1int_int__124] */
#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$124$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__124__1(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret454__1, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp455__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(tmp455__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(tmpret454__1, atspre_g1int_eq_int(arg0, tmp455__1)) ;

ATSfunbody_end()
ATSreturn(tmpret454__1) ;
} /* end of [ATSLIB_056_prelude__eq_g1int_int__124__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$127$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__127(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret458, 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(tmpret458, 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(tmpret458) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_get__127] */
#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$127$1(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5722)
tmparg = S2Evar(a(5722))
tmpsub = Some(a(5722) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atstkind_t0ype(atstype_double)
ATSLIB_056_prelude_056_unsafe__ptr0_get__127__1(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret458__1, atstkind_t0ype(atstype_double)) ;
/* 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(tmpret458__1, ATSderef(ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0), atstkind_t0ype(atstype_double))) ;
/*
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(tmpret458__1) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_get__127__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$129$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = a(4690)
tmparg = S2Evar(a(4690))
tmpsub = None()
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__129(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret460, 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(tmpret460, atspre_add_ptr0_bsz(arg0, ATSPMVsizeof(atstyvar_type(a)))) ;

ATSfunbody_end()
ATSreturn(tmpret460) ;
} /* end of [ATSLIB_056_prelude__ptr0_succ__129] */
#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$129$1(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4690)
tmparg = S2Evar(a(4690))
tmpsub = Some(a(4690) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__129__1(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret460__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(tmpret460__1, atspre_add_ptr0_bsz(arg0, ATSPMVsizeof(atstkind_t0ype(atstype_double)))) ;

ATSfunbody_end()
ATSreturn(tmpret460__1) ;
} /* end of [ATSLIB_056_prelude__ptr0_succ__129__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$124$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__124__2(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret454__2, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp455__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(tmp455__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(tmpret454__2, atspre_g1int_eq_int(arg0, tmp455__2)) ;

ATSfunbody_end()
ATSreturn(tmpret454__2) ;
} /* end of [ATSLIB_056_prelude__eq_g1int_int__124__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$132$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = a(5725)
tmparg = S2Evar(a(5725))
tmpsub = None()
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__132(atstkind_type(atstype_ptrk) arg0, atstyvar_type(a) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret478) ;
/* 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(tmpret478, 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(tmpret478) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_set__132] */
#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$132$1(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5725)
tmparg = S2Evar(a(5725))
tmpsub = Some(a(5725) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__132__1(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_double) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret478__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_double)), 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(tmpret478__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(tmpret478__1) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_set__132__1] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1811(line=62, offs=10) -- 1842(line=62, offs=41)
*/
/*
local: 
global: ptr0_succ$129$2(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4690)
tmparg = S2Evar(a(4690))
tmpsub = Some(a(4690) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__129__2(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret460__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(tmpret460__2, atspre_add_ptr0_bsz(arg0, ATSPMVsizeof(atstkind_t0ype(atstype_double)))) ;

ATSfunbody_end()
ATSreturn(tmpret460__2) ;
} /* end of [ATSLIB_056_prelude__ptr0_succ__129__2] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1763(line=60, offs=3) -- 1976(line=68, offs=2)
*/
/*
local: 
global: ptr0_get$127$2(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5722)
tmparg = S2Evar(a(5722))
tmpsub = Some(a(5722) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atstkind_t0ype(atstype_double)
ATSLIB_056_prelude_056_unsafe__ptr0_get__127__2(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret458__2, atstkind_t0ype(atstype_double)) ;
/* 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(tmpret458__2, ATSderef(ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0), atstkind_t0ype(atstype_double))) ;
/*
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(tmpret458__2) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_get__127__2] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1811(line=62, offs=10) -- 1842(line=62, offs=41)
*/
/*
local: 
global: ptr0_succ$129$3(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4690)
tmparg = S2Evar(a(4690))
tmpsub = Some(a(4690) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__129__3(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret460__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(tmpret460__3, atspre_add_ptr0_bsz(arg0, ATSPMVsizeof(atstkind_t0ype(atstype_double)))) ;

ATSfunbody_end()
ATSreturn(tmpret460__3) ;
} /* end of [ATSLIB_056_prelude__ptr0_succ__129__3] */

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_double.dats: 536(line=40, offs=3) -- 558(line=40, offs=25)
*/
/*
local: 
global: gcompare_val_val$0$2(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))
tmpsub = Some()
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__gcompare_val_val__0__2(atstkind_t0ype(atstype_double) arg0, atstkind_t0ype(atstype_double) 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_double.dats: 509(line=39, offs=1) -- 558(line=40, offs=25)
*/
ATSINSflab(__patsflab_gcompare_val_val):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_double.dats: 545(line=40, offs=12) -- 558(line=40, offs=25)
*/
ATSINSmove(tmpret0__2, atspre_g0float_compare_double(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: 11753(line=606, offs=3) -- 11793(line=606, offs=43)
*/
/*
local: 
global: lte_g0int_int$61$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__61__8(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret200__8, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp201__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(tmp201__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(tmpret200__8, atspre_g0int_lte_int(arg0, tmp201__8)) ;

ATSfunbody_end()
ATSreturn(tmpret200__8) ;
} /* end of [ATSLIB_056_prelude__lte_g0int_int__61__8] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2089(line=77, offs=3) -- 2312(line=85, offs=2)
*/
/*
local: 
global: ptr0_set$132$2(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5725)
tmparg = S2Evar(a(5725))
tmpsub = Some(a(5725) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__132__2(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_double) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret478__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_double)), 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(tmpret478__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(tmpret478__2) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_set__132__2] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1811(line=62, offs=10) -- 1842(line=62, offs=41)
*/
/*
local: 
global: ptr0_succ$129$4(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4690)
tmparg = S2Evar(a(4690))
tmpsub = Some(a(4690) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__129__4(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret460__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(tmpret460__4, atspre_add_ptr0_bsz(arg0, ATSPMVsizeof(atstkind_t0ype(atstype_double)))) ;

ATSfunbody_end()
ATSreturn(tmpret460__4) ;
} /* end of [ATSLIB_056_prelude__ptr0_succ__129__4] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2089(line=77, offs=3) -- 2312(line=85, offs=2)
*/
/*
local: 
global: ptr0_set$132$3(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5725)
tmparg = S2Evar(a(5725))
tmpsub = Some(a(5725) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__132__3(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_double) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret478__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_double)), 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(tmpret478__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(tmpret478__3) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_set__132__3] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1811(line=62, offs=10) -- 1842(line=62, offs=41)
*/
/*
local: 
global: ptr0_succ$129$5(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4690)
tmparg = S2Evar(a(4690))
tmpsub = Some(a(4690) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__129__5(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret460__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(tmpret460__5, atspre_add_ptr0_bsz(arg0, ATSPMVsizeof(atstkind_t0ype(atstype_double)))) ;

ATSfunbody_end()
ATSreturn(tmpret460__5) ;
} /* end of [ATSLIB_056_prelude__ptr0_succ__129__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$124$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__124__3(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret454__3, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp455__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(tmp455__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(tmpret454__3, atspre_g1int_eq_int(arg0, tmp455__3)) ;

ATSfunbody_end()
ATSreturn(tmpret454__3) ;
} /* end of [ATSLIB_056_prelude__eq_g1int_int__124__3] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2089(line=77, offs=3) -- 2312(line=85, offs=2)
*/
/*
local: 
global: ptr0_set$132$4(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5725)
tmparg = S2Evar(a(5725))
tmpsub = Some(a(5725) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__132__4(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_double) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret478__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_double)), 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(tmpret478__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(tmpret478__4) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_set__132__4] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1811(line=62, offs=10) -- 1842(line=62, offs=41)
*/
/*
local: 
global: ptr0_succ$129$6(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4690)
tmparg = S2Evar(a(4690))
tmpsub = Some(a(4690) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__129__6(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret460__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(tmpret460__6, atspre_add_ptr0_bsz(arg0, ATSPMVsizeof(atstkind_t0ype(atstype_double)))) ;

ATSfunbody_end()
ATSreturn(tmpret460__6) ;
} /* end of [ATSLIB_056_prelude__ptr0_succ__129__6] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 1763(line=60, offs=3) -- 1976(line=68, offs=2)
*/
/*
local: 
global: ptr0_get$127$3(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5722)
tmparg = S2Evar(a(5722))
tmpsub = Some(a(5722) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atstkind_t0ype(atstype_double)
ATSLIB_056_prelude_056_unsafe__ptr0_get__127__3(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret458__3, atstkind_t0ype(atstype_double)) ;
/* 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(tmpret458__3, ATSderef(ATSPMVcastfn(g1ofg0_ptr, atstkind_type(atstype_ptrk), arg0), atstkind_t0ype(atstype_double))) ;
/*
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(tmpret458__3) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_get__127__3] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1811(line=62, offs=10) -- 1842(line=62, offs=41)
*/
/*
local: 
global: ptr0_succ$129$7(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4690)
tmparg = S2Evar(a(4690))
tmpsub = Some(a(4690) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__129__7(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret460__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(tmpret460__7, atspre_add_ptr0_bsz(arg0, ATSPMVsizeof(atstkind_t0ype(atstype_double)))) ;

ATSfunbody_end()
ATSreturn(tmpret460__7) ;
} /* end of [ATSLIB_056_prelude__ptr0_succ__129__7] */

/*
/home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_double.dats: 536(line=40, offs=3) -- 558(line=40, offs=25)
*/
/*
local: 
global: gcompare_val_val$0$3(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double))
tmpsub = Some()
*/
atstkind_t0ype(atstype_int)
ATSLIB_056_prelude__gcompare_val_val__0__3(atstkind_t0ype(atstype_double) arg0, atstkind_t0ype(atstype_double) 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_double.dats: 509(line=39, offs=1) -- 558(line=40, offs=25)
*/
ATSINSflab(__patsflab_gcompare_val_val):
/*
emit_instr: loc0 = /home/hwxi/Research/ATS-Postiats/libats/BUCS320/MergeSort/TEST/MergeSort_array_double.dats: 545(line=40, offs=12) -- 558(line=40, offs=25)
*/
ATSINSmove(tmpret0__3, atspre_g0float_compare_double(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: 11753(line=606, offs=3) -- 11793(line=606, offs=43)
*/
/*
local: 
global: lte_g0int_int$61$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__61__9(atstkind_t0ype(atstype_int) arg0, atstkind_t0ype(atstype_int) arg1)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret200__9, atstkind_t0ype(atstype_bool)) ;
ATStmpdec(tmp201__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(tmp201__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(tmpret200__9, atspre_g0int_lte_int(arg0, tmp201__9)) ;

ATSfunbody_end()
ATSreturn(tmpret200__9) ;
} /* end of [ATSLIB_056_prelude__lte_g0int_int__61__9] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2089(line=77, offs=3) -- 2312(line=85, offs=2)
*/
/*
local: 
global: ptr0_set$132$5(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5725)
tmparg = S2Evar(a(5725))
tmpsub = Some(a(5725) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__132__5(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_double) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret478__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_double)), 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(tmpret478__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(tmpret478__5) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_set__132__5] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1811(line=62, offs=10) -- 1842(line=62, offs=41)
*/
/*
local: 
global: ptr0_succ$129$8(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4690)
tmparg = S2Evar(a(4690))
tmpsub = Some(a(4690) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__129__8(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret460__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(tmpret460__8, atspre_add_ptr0_bsz(arg0, ATSPMVsizeof(atstkind_t0ype(atstype_double)))) ;

ATSfunbody_end()
ATSreturn(tmpret460__8) ;
} /* end of [ATSLIB_056_prelude__ptr0_succ__129__8] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/unsafe.dats: 2089(line=77, offs=3) -- 2312(line=85, offs=2)
*/
/*
local: 
global: ptr0_set$132$6(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(5725)
tmparg = S2Evar(a(5725))
tmpsub = Some(a(5725) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atsvoid_t0ype
ATSLIB_056_prelude_056_unsafe__ptr0_set__132__6(atstkind_type(atstype_ptrk) arg0, atstkind_t0ype(atstype_double) arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret478__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_double)), 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(tmpret478__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(tmpret478__6) ;
} /* end of [ATSLIB_056_prelude_056_unsafe__ptr0_set__132__6] */

/*
/home/hwxi/Research/ATS-Postiats/prelude/DATS/pointer.dats: 1811(line=62, offs=10) -- 1842(line=62, offs=41)
*/
/*
local: 
global: ptr0_succ$129$9(level=7)
local: 
global: 
*/
ATSstatic()
/*
imparg = a(4690)
tmparg = S2Evar(a(4690))
tmpsub = Some(a(4690) -> S2Eapp(S2Ecst(g0float_t0ype); S2Eextkind(atstype_double)))
*/
atstkind_type(atstype_ptrk)
ATSLIB_056_prelude__ptr0_succ__129__9(atstkind_type(atstype_ptrk) arg0)
{
/* tmpvardeclst(beg) */
ATStmpdec(tmpret460__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(tmpret460__9, atspre_add_ptr0_bsz(arg0, ATSPMVsizeof(atstkind_t0ype(atstype_double)))) ;

ATSfunbody_end()
ATSreturn(tmpret460__9) ;
} /* end of [ATSLIB_056_prelude__ptr0_succ__129__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$154$0(level=0)
local: 
global: 
*/
ATSextern()
/*
imparg = 
tmparg = 
tmpsub = None()
*/
atsvoid_t0ype
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__eval__memo_set__154(atstype_boxed arg0, atstype_boxed arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret517) ;
/* 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(tmpret517, ATSPMVempty()) ;
ATSfunbody_end()
ATSreturn_void(tmpret517) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__eval__memo_set__154] */
#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$154$1(level=4)
local: 
global: 
*/
ATSstatic()
/*
imparg = 
tmparg = 
tmpsub = Some()
*/
atsvoid_t0ype
ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__eval__memo_set__154__1(atstype_boxed arg0, atstype_boxed arg1)
{
/* tmpvardeclst(beg) */
// ATStmpdec_void(tmpret517__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(tmpret517__1, ATSPMVempty()) ;
ATSfunbody_end()
ATSreturn_void(tmpret517__1) ;
} /* end of [ATSLIB_056_libats_056_BUCS320_056_DivideConquer__DivideConquer__solve__eval__memo_set__154__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_double_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_double_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_double_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_double_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_double_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 */
