/*
**
** The C code is generated by ATS/Anairiats
** The compilation time is: 2020-11-6:  1h:10m
**
*/

/* include some .h files */
#ifndef _ATS_HEADER_NONE
#include "ats_config.h"
#include "ats_basics.h"
#include "ats_types.h"
#include "ats_exception.h"
#include "ats_memory.h"
#endif /* _ATS_HEADER_NONE */

/* include some .cats files */
#ifndef _ATS_PRELUDE_NONE
#include "prelude/CATS/basics.cats"
#include "prelude/CATS/bool.cats"
#include "prelude/CATS/char.cats"
#include "prelude/CATS/byte.cats"
#include "prelude/CATS/float.cats"
#include "prelude/CATS/integer.cats"
#include "prelude/CATS/integer_ptr.cats"
#include "prelude/CATS/integer_fixed.cats"
#include "prelude/CATS/sizetype.cats"
#include "prelude/CATS/pointer.cats"
#include "prelude/CATS/reference.cats"
#include "prelude/CATS/string.cats"
#include "prelude/CATS/lazy.cats"
#include "prelude/CATS/lazy_vt.cats"
#include "prelude/CATS/printf.cats"
#include "prelude/CATS/list.cats"
#include "prelude/CATS/option.cats"
#include "prelude/CATS/array.cats"
#include "prelude/CATS/matrix.cats"
#endif /* _ATS_PRELUDE_NONE */
/* prologues from statically loaded files */

#include "pats_location.cats"
/* external codes at top */
/* type definitions */
typedef
struct {
ats_ptr_type atslab_3 ;
ats_ptr_type atslab_4 ;
} anairiats_rec_0 ;

typedef
struct {
ats_ptr_type atslab_filename ;
ats_lint_type atslab_beg_ntot ;
ats_int_type atslab_beg_nrow ;
ats_int_type atslab_beg_ncol ;
ats_lint_type atslab_end_ntot ;
ats_int_type atslab_end_nrow ;
ats_int_type atslab_end_ncol ;
ats_ptr_type atslab_locpragma ;
} anairiats_rec_1 ;

typedef struct {
int tag ;
ats_ptr_type atslab_0 ;
} anairiats_sum_2 ;

typedef struct {
int tag ;
ats_ptr_type atslab_0 ;
ats_ptr_type atslab_1 ;
} anairiats_sum_3 ;

typedef struct {
ats_ptr_type atslab_0 ;
ats_ptr_type atslab_1 ;
} anairiats_sum_4 ;

/* external typedefs */
/* external dynamic constructor declarations */
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_cons_0) ;
ATSextern_val(ats_sum_type, ATS_2d0_2e2_2e12_2prelude_2basics_sta_2esats__list_nil_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2edats__LOCPRAGMA0_0) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2edats__LOCPRAGMA1_1) ;
ATSextern_val(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2edats__LOCPRAGMA2_2) ;

/* external dynamic constant declarations */
ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ;
ATSextern_fun(ats_int_type, atspre_int_of_char) (ats_char_type) ;
ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_sub_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_gte_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_void_type, atspre_fprint_int) (ats_ptr_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_isucc) (ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_iadd) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_isub) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_idiv) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_ilt) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_igt) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_igte) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_lint_type, atspre_lint_of_uint) (ats_uint_type) ;
ATSextern_fun(ats_lint_type, atspre_add_lint_lint) (ats_lint_type, ats_lint_type) ;
ATSextern_fun(ats_lint_type, atspre_sub_lint_lint) (ats_lint_type, ats_lint_type) ;
ATSextern_fun(ats_bool_type, atspre_lt_lint_lint) (ats_lint_type, ats_lint_type) ;
ATSextern_fun(ats_bool_type, atspre_lte_lint_lint) (ats_lint_type, ats_lint_type) ;
ATSextern_fun(ats_bool_type, atspre_gte_lint_lint) (ats_lint_type, ats_lint_type) ;
ATSextern_fun(ats_void_type, atspre_fprint_lint) (ats_ptr_type, ats_lint_type) ;
ATSextern_fun(ats_size_type, atspre_size1_of_int1) (ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_add_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_sub_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_mul2_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_lt_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_gt_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_neq_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atspre_ptr_alloc_tsz) (ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_ptr_zero_tsz) (ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atspre_ref_make_elt_tsz) (ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_fprint_string) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_fprintf_exn) (ats_ptr_type, ats_ptr_type, ...) ;
ATSextern_fun(ats_ptr_type, ListSubscriptException_make) () ;
ATSextern_fun(ats_ptr_type, atspre_array_ptr_alloc_tsz) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_free) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_initialize_funenv_tsz) (ats_ref_type, ats_size_type, ats_ptr_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_initialize_cloenv_tsz) (ats_ref_type, ats_size_type, ats_ref_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, atspre_array_ptr_split_tsz) (ats_ptr_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atspre_array_ptr_takeout_tsz) (ats_ptr_type, ats_size_type, ats_size_type) ;
ATSextern_fun(anairiats_rec_0, atspre_array_ptr_takeout2_tsz) (ats_ptr_type, ats_size_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_foreach_funenv_tsz) (ats_ref_type, ats_ptr_type, ats_size_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_iforeach_funenv_tsz) (ats_ref_type, ats_ptr_type, ats_size_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, atspre_array2_ptr_takeout_tsz) (ats_ptr_type, ats_size_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atslib_qsort) (ats_ref_type, ats_size_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_filename_2esats__fprint_filename_full) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_filename_2esats__fprint2_filename_full) (ats_ptr_type, ats_ptr_type) ;
ATSextern_val(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_filename_2esats__filename_dummy) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_filename_2esats__filename_get_current) () ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_position) (ats_ptr_type, pats_position_struct) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_location) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_locrange) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_make_fil_pos_pos) (ats_ptr_type, pats_position_struct, pats_position_struct) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__locpragma0_make) () ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__the_location_pragma_get) () ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_locpragma) (ats_ptr_type, ats_ptr_type) ;

/* external dynamic terminating constant declarations */
#ifdef _ATS_PROOFCHECK
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2list_2esats__list_length_is_nonnegative_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2list_vt_2esats__list_vt_length_is_nonnegative_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2array_2esats__array_v_takeout2_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____copy_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____free_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____assert_prfck () ;
#endif /* _ATS_PROOFCHECK */

/* assuming abstract types */
int _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__sasp__locpragma_type = 0 ;
int _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__sasp__location_type = 0 ;
int _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__sasp__position_t0ype = 0 ;

/* sum constructor declarations */
ATSglobal(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2edats__LOCPRAGMA0_0) ;
ATSglobal(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2edats__LOCPRAGMA1_1) ;
ATSglobal(ats_sum_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2edats__LOCPRAGMA2_2) ;

/* exn constructor declarations */
/* global dynamic (non-functional) constant declarations */
ATSglobal(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_dummy) ;

/* internal function declarations */
static
ats_bool_type location_is_none_25 (ats_ptr_type arg0) ;
static
ats_ptr_type location_combine_main_26 (ats_ptr_type arg0, ats_ptr_type arg1) ;
static
ats_ptr_type ref_01088_ats_ptr_type (ats_ptr_type arg0) ;

/* partial value template declarations */
/* static temporary variable declarations */
ATSstatic (ats_ptr_type, statmp82) ;
ATSstatic (ats_ptr_type, statmp83) ;
ATSstatic (ats_ptr_type, statmp157) ;
ATSstatic (ats_ptr_type, statmp160) ;
ATSstatic (ats_ptr_type, statmp161) ;
ATSstatic (ats_ptr_type, statmp162) ;

/* external value variable declarations */

/* function implementations */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 1785(line=63, offs=3) -- 1826(line=63, offs=44)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__print_position (pats_position_struct arg0) {
/* local vardec */
// ATSlocal_void (tmp0) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__print_position:
/* tmp0 = */ _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_position (stdout, arg0) ;
return /* (tmp0) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__print_position] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 1879(line=69, offs=3) -- 2064(line=82, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_position (ats_ptr_type arg0, pats_position_struct arg1) {
/* local vardec */
// ATSlocal_void (tmp1) ;
ATSlocal (ats_lint_type, tmp2) ;
ATSlocal (ats_int_type, tmp3) ;
ATSlocal (ats_int_type, tmp4) ;
ATSlocal (ats_lint_type, tmp5) ;
ATSlocal (ats_int_type, tmp6) ;
ATSlocal (ats_int_type, tmp7) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_position:
tmp2 = ats_select_mac(arg1, ntot) ;
tmp3 = ats_select_mac(arg1, nrow) ;
tmp4 = ats_select_mac(arg1, ncol) ;
tmp5 = atspre_add_lint_lint (tmp2, 1L) ;
tmp6 = atspre_add_int_int (tmp3, 1) ;
tmp7 = atspre_add_int_int (tmp4, 1) ;
/* tmp1 = */ atspre_fprintf_exn (arg0, ATSstrcst("%li(line=%i, offs=%i)"), tmp5, tmp6, tmp7) ;
return /* (tmp1) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_position] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 2143(line=86, offs=29) -- 2159(line=86, offs=45)
*/
ATSglobaldec()
ats_lint_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_get_ntot (ats_ref_type arg0) {
/* local vardec */
ATSlocal (ats_lint_type, tmp8) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_get_ntot:
tmp8 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ntot) ;
return (tmp8) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_get_ntot] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 2188(line=87, offs=29) -- 2204(line=87, offs=45)
*/
ATSglobaldec()
ats_int_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_get_nrow (ats_ref_type arg0) {
/* local vardec */
ATSlocal (ats_int_type, tmp9) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_get_nrow:
tmp9 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), nrow) ;
return (tmp9) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_get_nrow] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 2233(line=88, offs=29) -- 2249(line=88, offs=45)
*/
ATSglobaldec()
ats_int_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_get_ncol (ats_ref_type arg0) {
/* local vardec */
ATSlocal (ats_int_type, tmp10) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_get_ncol:
tmp10 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ncol) ;
return (tmp10) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_get_ncol] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 2296(line=94, offs=1) -- 2426(line=100, offs=2)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_init (ats_ref_type arg0, ats_lint_type arg1, ats_int_type arg2, ats_int_type arg3) {
/* local vardec */
// ATSlocal_void (tmp11) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_init:
ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ntot) = arg1 ;
ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), nrow) = arg2 ;
ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ncol) = arg3 ;
return /* (tmp11) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_init] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 2481(line=104, offs=1) -- 2616(line=110, offs=2)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_copy (ats_ref_type arg0, ats_ref_type arg1) {
/* local vardec */
// ATSlocal_void (tmp12) ;
ATSlocal (ats_lint_type, tmp13) ;
ATSlocal (ats_int_type, tmp14) ;
ATSlocal (ats_int_type, tmp15) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_copy:
tmp13 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg1), ntot) ;
ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ntot) = tmp13 ;
tmp14 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg1), nrow) ;
ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), nrow) = tmp14 ;
tmp15 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg1), ncol) ;
ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ncol) = tmp15 ;
return /* (tmp12) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_copy] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 2700(line=116, offs=3) -- 3056(line=136, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_incby_char (ats_ref_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp16) ;
ATSlocal (ats_bool_type, tmp17) ;
ATSlocal (ats_lint_type, tmp18) ;
ATSlocal (ats_lint_type, tmp19) ;
ATSlocal (ats_bool_type, tmp20) ;
ATSlocal (ats_int_type, tmp21) ;
ATSlocal (ats_int_type, tmp22) ;
ATSlocal (ats_int_type, tmp23) ;
ATSlocal (ats_int_type, tmp24) ;
ATSlocal (ats_int_type, tmp25) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_incby_char:
tmp17 = atspre_gte_int_int (arg1, 0) ;
if (tmp17) {
tmp19 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ntot) ;
tmp18 = atspre_add_lint_lint (tmp19, 1L) ;
ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ntot) = tmp18 ;
tmp21 = atspre_int_of_char ('\n') ;
tmp20 = atspre_eq_int_int (arg1, tmp21) ;
if (tmp20) {
tmp23 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), nrow) ;
tmp22 = atspre_add_int_int (tmp23, 1) ;
ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), nrow) = tmp22 ;
ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ncol) = 0 ;
} else {
tmp25 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ncol) ;
tmp24 = atspre_add_int_int (tmp25, 1) ;
ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ncol) = tmp24 ;
} /* end of [if] */
} else {
/* empty */
} /* end of [if] */
return /* (tmp16) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_incby_char] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 3144(line=142, offs=3) -- 3308(line=149, offs=2)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_decby_count (ats_ref_type arg0, ats_uint_type arg1) {
/* local vardec */
// ATSlocal_void (tmp26) ;
ATSlocal (ats_lint_type, tmp27) ;
ATSlocal (ats_lint_type, tmp28) ;
ATSlocal (ats_lint_type, tmp29) ;
ATSlocal (ats_int_type, tmp30) ;
ATSlocal (ats_int_type, tmp31) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_decby_count:
tmp28 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ntot) ;
tmp29 = atspre_lint_of_uint (arg1) ;
tmp27 = atspre_sub_lint_lint (tmp28, tmp29) ;
ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ntot) = tmp27 ;
tmp31 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ncol) ;
tmp30 = atspre_sub_int_int (tmp31, ats_castfn_mac(ats_int_type, arg1)) ;
ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ncol) = tmp30 ;
return /* (tmp26) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_decby_count] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 3376(line=153, offs=3) -- 3540(line=160, offs=2)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_incby_count (ats_ref_type arg0, ats_uint_type arg1) {
/* local vardec */
// ATSlocal_void (tmp32) ;
ATSlocal (ats_lint_type, tmp33) ;
ATSlocal (ats_lint_type, tmp34) ;
ATSlocal (ats_lint_type, tmp35) ;
ATSlocal (ats_int_type, tmp36) ;
ATSlocal (ats_int_type, tmp37) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_incby_count:
tmp34 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ntot) ;
tmp35 = atspre_lint_of_uint (arg1) ;
tmp33 = atspre_add_lint_lint (tmp34, tmp35) ;
ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ntot) = tmp33 ;
tmp37 = ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ncol) ;
tmp36 = atspre_add_int_int (tmp37, ats_castfn_mac(ats_int_type, arg1)) ;
ats_select_mac(ats_ptrget_mac(pats_position_struct, arg0), ncol) = tmp36 ;
return /* (tmp32) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_incby_count] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 3927(line=185, offs=20) -- 3947(line=185, offs=40)
*/
ATSglobaldec()
ats_lint_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_get_bchar (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_lint_type, tmp38) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_get_bchar:
tmp38 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_ntot) ;
return (tmp38) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_get_bchar] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 3998(line=190, offs=19) -- 4018(line=190, offs=39)
*/
ATSglobaldec()
ats_int_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_beg_nrow (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_int_type, tmp39) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_beg_nrow:
tmp39 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_nrow) ;
return (tmp39) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_beg_nrow] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 4069(line=195, offs=19) -- 4089(line=195, offs=39)
*/
ATSglobaldec()
ats_lint_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_beg_ntot (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_lint_type, tmp40) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_beg_ntot:
tmp40 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_ntot) ;
return (tmp40) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_beg_ntot] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 4118(line=197, offs=19) -- 4138(line=197, offs=39)
*/
ATSglobaldec()
ats_lint_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_end_ntot (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_lint_type, tmp41) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_end_ntot:
tmp41 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_end_ntot) ;
return (tmp41) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_end_ntot] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 4192(line=202, offs=22) -- 4212(line=202, offs=42)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_get_filename (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp42) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_get_filename:
tmp42 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_filename) ;
return (tmp42) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_get_filename] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 4264(line=208, offs=3) -- 4304(line=208, offs=43)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__print_location (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp43) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__print_location:
/* tmp43 = */ _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_location (stdout, arg0) ;
return /* (tmp43) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__print_location] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 4335(line=212, offs=3) -- 4375(line=212, offs=43)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__prerr_location (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp44) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__prerr_location:
/* tmp44 = */ _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_location (stderr, arg0) ;
return /* (tmp44) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__prerr_location] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 4428(line=218, offs=3) -- 4988(line=238, offs=2)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_locrange (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp45) ;
// ATSlocal_void (tmp46) ;
ATSlocal (ats_lint_type, tmp47) ;
ATSlocal (ats_lint_type, tmp48) ;
// ATSlocal_void (tmp49) ;
// ATSlocal_void (tmp50) ;
ATSlocal (ats_int_type, tmp51) ;
ATSlocal (ats_int_type, tmp52) ;
// ATSlocal_void (tmp53) ;
// ATSlocal_void (tmp54) ;
ATSlocal (ats_int_type, tmp55) ;
ATSlocal (ats_int_type, tmp56) ;
// ATSlocal_void (tmp57) ;
// ATSlocal_void (tmp58) ;
// ATSlocal_void (tmp59) ;
ATSlocal (ats_lint_type, tmp60) ;
ATSlocal (ats_lint_type, tmp61) ;
// ATSlocal_void (tmp62) ;
// ATSlocal_void (tmp63) ;
ATSlocal (ats_int_type, tmp64) ;
ATSlocal (ats_int_type, tmp65) ;
// ATSlocal_void (tmp66) ;
// ATSlocal_void (tmp67) ;
ATSlocal (ats_int_type, tmp68) ;
ATSlocal (ats_int_type, tmp69) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_locrange:
tmp48 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_beg_ntot) ;
tmp47 = atspre_add_lint_lint (tmp48, 1L) ;
/* tmp46 = */ atspre_fprint_lint (arg0, tmp47) ;
/* tmp49 = */ atspre_fprint_string (arg0, ATSstrcst("(line=")) ;
tmp52 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_beg_nrow) ;
tmp51 = atspre_add_int_int (tmp52, 1) ;
/* tmp50 = */ atspre_fprint_int (arg0, tmp51) ;
/* tmp53 = */ atspre_fprint_string (arg0, ATSstrcst(", offs=")) ;
tmp56 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_beg_ncol) ;
tmp55 = atspre_add_int_int (tmp56, 1) ;
/* tmp54 = */ atspre_fprint_int (arg0, tmp55) ;
/* tmp57 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
/* tmp58 = */ atspre_fprint_string (arg0, ATSstrcst(" -- ")) ;
tmp61 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_end_ntot) ;
tmp60 = atspre_add_lint_lint (tmp61, 1L) ;
/* tmp59 = */ atspre_fprint_lint (arg0, tmp60) ;
/* tmp62 = */ atspre_fprint_string (arg0, ATSstrcst("(line=")) ;
tmp65 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_end_nrow) ;
tmp64 = atspre_add_int_int (tmp65, 1) ;
/* tmp63 = */ atspre_fprint_int (arg0, tmp64) ;
/* tmp66 = */ atspre_fprint_string (arg0, ATSstrcst(", offs=")) ;
tmp69 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_end_ncol) ;
tmp68 = atspre_add_int_int (tmp69, 1) ;
/* tmp67 = */ atspre_fprint_int (arg0, tmp68) ;
/* tmp45 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
return /* (tmp45) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_locrange] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 5070(line=244, offs=3) -- 5282(line=254, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_location (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp70) ;
// ATSlocal_void (tmp71) ;
ATSlocal (ats_ptr_type, tmp72) ;
// ATSlocal_void (tmp73) ;
ATSlocal (ats_ptr_type, tmp74) ;
// ATSlocal_void (tmp75) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_location:
tmp72 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_locpragma) ;
/* tmp71 = */ _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_locpragma (arg0, tmp72) ;
tmp74 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_filename) ;
/* tmp73 = */ _2tmp_2ATS_2dPostiats_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp74) ;
/* tmp75 = */ atspre_fprint_string (arg0, ATSstrcst(": ")) ;
/* tmp70 = */ _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_locrange (arg0, arg1) ;
return /* (tmp70) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_location] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 5365(line=260, offs=3) -- 5580(line=270, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint2_location (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp76) ;
// ATSlocal_void (tmp77) ;
ATSlocal (ats_ptr_type, tmp78) ;
// ATSlocal_void (tmp79) ;
ATSlocal (ats_ptr_type, tmp80) ;
// ATSlocal_void (tmp81) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint2_location:
tmp78 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_locpragma) ;
/* tmp77 = */ _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_locpragma (arg0, tmp78) ;
tmp80 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_filename) ;
/* tmp79 = */ _2tmp_2ATS_2dPostiats_2src_2pats_filename_2esats__fprint2_filename_full (arg0, tmp80) ;
/* tmp81 = */ atspre_fprint_string (arg0, ATSstrcst(": ")) ;
/* tmp76 = */ _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_locrange (arg0, arg1) ;
return /* (tmp76) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint2_location] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 5911(line=291, offs=3) -- 6052(line=297, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_filename_origin (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp84) ;
ATSlocal (ats_ptr_type, tmp85) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_filename_origin:
tmp85 = _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__locpragma0_make () ;
tmp84 = ATS_MALLOC(sizeof(anairiats_rec_1)) ;
ats_selptrset_mac(anairiats_rec_1, tmp84, atslab_filename, arg0) ;
ats_selptrset_mac(anairiats_rec_1, tmp84, atslab_beg_ntot, 0L) ;
ats_selptrset_mac(anairiats_rec_1, tmp84, atslab_beg_nrow, 0) ;
ats_selptrset_mac(anairiats_rec_1, tmp84, atslab_beg_ncol, 0) ;
ats_selptrset_mac(anairiats_rec_1, tmp84, atslab_end_ntot, 0L) ;
ats_selptrset_mac(anairiats_rec_1, tmp84, atslab_end_nrow, 0) ;
ats_selptrset_mac(anairiats_rec_1, tmp84, atslab_end_ncol, 0) ;
ats_selptrset_mac(anairiats_rec_1, tmp84, atslab_locpragma, tmp85) ;

return (tmp84) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_filename_origin] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 6149(line=303, offs=3) -- 6261(line=307, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_make_pos_pos (pats_position_struct arg0, pats_position_struct arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp86) ;
ATSlocal (ats_ptr_type, tmp87) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_make_pos_pos:
tmp87 = _2tmp_2ATS_2dPostiats_2src_2pats_filename_2esats__filename_get_current () ;
tmp86 = _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_make_fil_pos_pos (tmp87, arg0, arg1) ;
return (tmp86) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_make_pos_pos] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 6356(line=313, offs=3) -- 6567(line=322, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_make_fil_pos_pos (ats_ptr_type arg0, pats_position_struct arg1, pats_position_struct arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp88) ;
ATSlocal (ats_lint_type, tmp89) ;
ATSlocal (ats_int_type, tmp90) ;
ATSlocal (ats_int_type, tmp91) ;
ATSlocal (ats_lint_type, tmp92) ;
ATSlocal (ats_int_type, tmp93) ;
ATSlocal (ats_int_type, tmp94) ;
ATSlocal (ats_ptr_type, tmp95) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_make_fil_pos_pos:
tmp89 = ats_select_mac(arg1, ntot) ;
tmp90 = ats_select_mac(arg1, nrow) ;
tmp91 = ats_select_mac(arg1, ncol) ;
tmp92 = ats_select_mac(arg2, ntot) ;
tmp93 = ats_select_mac(arg2, nrow) ;
tmp94 = ats_select_mac(arg2, ncol) ;
tmp95 = _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__the_location_pragma_get () ;
tmp88 = ATS_MALLOC(sizeof(anairiats_rec_1)) ;
ats_selptrset_mac(anairiats_rec_1, tmp88, atslab_filename, arg0) ;
ats_selptrset_mac(anairiats_rec_1, tmp88, atslab_beg_ntot, tmp89) ;
ats_selptrset_mac(anairiats_rec_1, tmp88, atslab_beg_nrow, tmp90) ;
ats_selptrset_mac(anairiats_rec_1, tmp88, atslab_beg_ncol, tmp91) ;
ats_selptrset_mac(anairiats_rec_1, tmp88, atslab_end_ntot, tmp92) ;
ats_selptrset_mac(anairiats_rec_1, tmp88, atslab_end_nrow, tmp93) ;
ats_selptrset_mac(anairiats_rec_1, tmp88, atslab_end_ncol, tmp94) ;
ats_selptrset_mac(anairiats_rec_1, tmp88, atslab_locpragma, tmp95) ;

return (tmp88) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_make_fil_pos_pos] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 6654(line=328, offs=3) -- 6868(line=337, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_leftmost (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp96) ;
ATSlocal (ats_ptr_type, tmp97) ;
ATSlocal (ats_lint_type, tmp98) ;
ATSlocal (ats_int_type, tmp99) ;
ATSlocal (ats_int_type, tmp100) ;
ATSlocal (ats_lint_type, tmp101) ;
ATSlocal (ats_int_type, tmp102) ;
ATSlocal (ats_int_type, tmp103) ;
ATSlocal (ats_ptr_type, tmp104) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_leftmost:
tmp97 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_filename) ;
tmp98 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_ntot) ;
tmp99 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_nrow) ;
tmp100 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_ncol) ;
tmp101 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_ntot) ;
tmp102 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_nrow) ;
tmp103 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_ncol) ;
tmp104 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_locpragma) ;
tmp96 = ATS_MALLOC(sizeof(anairiats_rec_1)) ;
ats_selptrset_mac(anairiats_rec_1, tmp96, atslab_filename, tmp97) ;
ats_selptrset_mac(anairiats_rec_1, tmp96, atslab_beg_ntot, tmp98) ;
ats_selptrset_mac(anairiats_rec_1, tmp96, atslab_beg_nrow, tmp99) ;
ats_selptrset_mac(anairiats_rec_1, tmp96, atslab_beg_ncol, tmp100) ;
ats_selptrset_mac(anairiats_rec_1, tmp96, atslab_end_ntot, tmp101) ;
ats_selptrset_mac(anairiats_rec_1, tmp96, atslab_end_nrow, tmp102) ;
ats_selptrset_mac(anairiats_rec_1, tmp96, atslab_end_ncol, tmp103) ;
ats_selptrset_mac(anairiats_rec_1, tmp96, atslab_locpragma, tmp104) ;

return (tmp96) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_leftmost] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 6931(line=341, offs=3) -- 7145(line=350, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_rightmost (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp105) ;
ATSlocal (ats_ptr_type, tmp106) ;
ATSlocal (ats_lint_type, tmp107) ;
ATSlocal (ats_int_type, tmp108) ;
ATSlocal (ats_int_type, tmp109) ;
ATSlocal (ats_lint_type, tmp110) ;
ATSlocal (ats_int_type, tmp111) ;
ATSlocal (ats_int_type, tmp112) ;
ATSlocal (ats_ptr_type, tmp113) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_rightmost:
tmp106 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_filename) ;
tmp107 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_end_ntot) ;
tmp108 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_end_nrow) ;
tmp109 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_end_ncol) ;
tmp110 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_end_ntot) ;
tmp111 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_end_nrow) ;
tmp112 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_end_ncol) ;
tmp113 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_locpragma) ;
tmp105 = ATS_MALLOC(sizeof(anairiats_rec_1)) ;
ats_selptrset_mac(anairiats_rec_1, tmp105, atslab_filename, tmp106) ;
ats_selptrset_mac(anairiats_rec_1, tmp105, atslab_beg_ntot, tmp107) ;
ats_selptrset_mac(anairiats_rec_1, tmp105, atslab_beg_nrow, tmp108) ;
ats_selptrset_mac(anairiats_rec_1, tmp105, atslab_beg_ncol, tmp109) ;
ats_selptrset_mac(anairiats_rec_1, tmp105, atslab_end_ntot, tmp110) ;
ats_selptrset_mac(anairiats_rec_1, tmp105, atslab_end_nrow, tmp111) ;
ats_selptrset_mac(anairiats_rec_1, tmp105, atslab_end_ncol, tmp112) ;
ats_selptrset_mac(anairiats_rec_1, tmp105, atslab_locpragma, tmp113) ;

return (tmp105) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_rightmost] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 7209(line=357, offs=1) -- 7276(line=360, offs=33)
*/
ATSstaticdec()
ats_bool_type
location_is_none_25 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp114) ;
ATSlocal (ats_lint_type, tmp115) ;

__ats_lab_location_is_none_25:
tmp115 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_ntot) ;
tmp114 = atspre_lt_lint_lint (tmp115, 0L) ;
return (tmp114) ;
} /* end of [location_is_none_25] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 7281(line=363, offs=1) -- 8394(line=406, offs=6)
*/
ATSstaticdec()
ats_ptr_type
location_combine_main_26 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp116) ;
ATSlocal (ats_lint_type, tmp117) ;
ATSlocal (ats_int_type, tmp118) ;
ATSlocal (ats_int_type, tmp119) ;
ATSlocal (ats_lint_type, tmp120) ;
ATSlocal (ats_int_type, tmp121) ;
ATSlocal (ats_int_type, tmp122) ;
ATSlocal (ats_bool_type, tmp124) ;
ATSlocal (ats_lint_type, tmp125) ;
ATSlocal (ats_lint_type, tmp126) ;
ATSlocal (ats_int_type, tmp127) ;
ATSlocal (ats_int_type, tmp128) ;
ATSlocal (ats_lint_type, tmp129) ;
ATSlocal (ats_int_type, tmp130) ;
ATSlocal (ats_int_type, tmp131) ;
ATSlocal (ats_lint_type, tmp132) ;
ATSlocal (ats_bool_type, tmp134) ;
ATSlocal (ats_lint_type, tmp135) ;
ATSlocal (ats_lint_type, tmp136) ;
ATSlocal (ats_int_type, tmp137) ;
ATSlocal (ats_int_type, tmp138) ;
ATSlocal (ats_lint_type, tmp139) ;
ATSlocal (ats_int_type, tmp140) ;
ATSlocal (ats_int_type, tmp141) ;
ATSlocal (ats_lint_type, tmp142) ;
ATSlocal (ats_ptr_type, tmp143) ;
ATSlocal (ats_ptr_type, tmp144) ;

__ats_lab_location_combine_main_26:
/* ats_lint_type tmp117 ; */
/* ats_int_type tmp118 ; */
/* ats_int_type tmp119 ; */
/* ats_lint_type tmp120 ; */
/* ats_int_type tmp121 ; */
/* ats_int_type tmp122 ; */
tmp125 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_ntot) ;
tmp126 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_beg_ntot) ;
tmp124 = atspre_lte_lint_lint (tmp125, tmp126) ;
if (tmp124) {
tmp127 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_nrow) ;
tmp118 = tmp127 ;
tmp128 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_ncol) ;
tmp119 = tmp128 ;
tmp129 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_beg_ntot) ;
tmp117 = tmp129 ;
} else {
tmp130 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_beg_nrow) ;
tmp118 = tmp130 ;
tmp131 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_beg_ncol) ;
tmp119 = tmp131 ;
tmp132 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_beg_ntot) ;
tmp117 = tmp132 ;
} /* end of [if] */
tmp135 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_end_ntot) ;
tmp136 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_end_ntot) ;
tmp134 = atspre_gte_lint_lint (tmp135, tmp136) ;
if (tmp134) {
tmp137 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_end_nrow) ;
tmp121 = tmp137 ;
tmp138 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_end_ncol) ;
tmp122 = tmp138 ;
tmp139 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_end_ntot) ;
tmp120 = tmp139 ;
} else {
tmp140 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_end_nrow) ;
tmp121 = tmp140 ;
tmp141 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_end_ncol) ;
tmp122 = tmp141 ;
tmp142 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_end_ntot) ;
tmp120 = tmp142 ;
} /* end of [if] */
tmp143 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_filename) ;
tmp144 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg0), atslab_locpragma) ;
tmp116 = ATS_MALLOC(sizeof(anairiats_rec_1)) ;
ats_selptrset_mac(anairiats_rec_1, tmp116, atslab_filename, tmp143) ;
ats_selptrset_mac(anairiats_rec_1, tmp116, atslab_beg_ntot, tmp117) ;
ats_selptrset_mac(anairiats_rec_1, tmp116, atslab_beg_nrow, tmp118) ;
ats_selptrset_mac(anairiats_rec_1, tmp116, atslab_beg_ncol, tmp119) ;
ats_selptrset_mac(anairiats_rec_1, tmp116, atslab_end_ntot, tmp120) ;
ats_selptrset_mac(anairiats_rec_1, tmp116, atslab_end_nrow, tmp121) ;
ats_selptrset_mac(anairiats_rec_1, tmp116, atslab_end_ncol, tmp122) ;
ats_selptrset_mac(anairiats_rec_1, tmp116, atslab_locpragma, tmp144) ;

return (tmp116) ;
} /* end of [location_combine_main_26] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 8480(line=412, offs=3) -- 8640(line=415, offs=53)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_combine (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp145) ;
ATSlocal (ats_bool_type, tmp146) ;
ATSlocal (ats_bool_type, tmp147) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_combine:
do {
/* branch: __ats_lab_0 */
__ats_lab_0_0:
__ats_lab_0_1:
tmp146 = location_is_none_25 (arg0) ;
if (!tmp146) { goto __ats_lab_1_1 ; }
tmp145 = arg1 ;
break ;

/* branch: __ats_lab_1 */
__ats_lab_1_0:
__ats_lab_1_1:
tmp147 = location_is_none_25 (arg1) ;
if (!tmp147) { goto __ats_lab_2_1 ; }
tmp145 = arg0 ;
break ;

/* branch: __ats_lab_2 */
__ats_lab_2_0:
__ats_lab_2_1:
tmp145 = location_combine_main_26 (arg0, arg1) ;
break ;
} while (0) ;
return (tmp145) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_combine] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 8746(line=424, offs=3) -- 9278(line=454, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_line_pragma (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp148) ;
ATSlocal (ats_int_type, tmp149) ;
ATSlocal (ats_bool_type, tmp150) ;
// ATSlocal_void (tmp151) ;
// ATSlocal_void (tmp152) ;
ATSlocal (ats_int_type, tmp153) ;
// ATSlocal_void (tmp154) ;
// ATSlocal_void (tmp155) ;
ATSlocal (ats_ptr_type, tmp156) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_line_pragma:
tmp149 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_beg_nrow) ;
tmp150 = atspre_gte_int_int (tmp149, 0) ;
if (tmp150) {
/* tmp151 = */ atspre_fprint_string (arg0, ATSstrcst("#line ")) ;
tmp153 = atspre_add_int_int (tmp149, 1) ;
/* tmp152 = */ atspre_fprint_int (arg0, tmp153) ;
/* tmp154 = */ atspre_fprint_string (arg0, ATSstrcst(" \"")) ;
tmp156 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg1), atslab_filename) ;
/* tmp155 = */ _2tmp_2ATS_2dPostiats_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp156) ;
/* tmp148 = */ atspre_fprint_string (arg0, ATSstrcst("\"\n")) ;
} else {
/* empty */
} /* end of [if] */
return /* (tmp148) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_line_pragma] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/reference.dats: 1828(line=57, offs=18) -- 1902(line=59, offs=4)
*/
ATSstaticdec()
ats_ptr_type
ref_01088_ats_ptr_type (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp158) ;
ATSlocal (ats_ptr_type, tmp159) ;

__ats_lab_ref_01088_ats_ptr_type:
/* ats_ptr_type tmp159 ; */
tmp159 = arg0 ;
tmp158 = atspre_ref_make_elt_tsz ((&tmp159), sizeof(ats_ptr_type)) ;
return (tmp158) ;
} /* end of [ref_01088_ats_ptr_type] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 9704(line=478, offs=16) -- 9720(line=478, offs=32)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__locpragma0_make () {
/* local vardec */
ATSlocal (ats_ptr_type, tmp163) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__locpragma0_make:
tmp163 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_location_2edats__LOCPRAGMA0_0) ;
return (tmp163) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__locpragma0_make] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 9746(line=480, offs=16) -- 9763(line=480, offs=33)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__locpragma1_make (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp164) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__locpragma1_make:
tmp164 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp164)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_2, tmp164, atslab_0, arg0) ;
return (tmp164) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__locpragma1_make] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 9790(line=482, offs=16) -- 9818(line=482, offs=44)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__locpragma2_make (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp165) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__locpragma2_make:
tmp165 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp165)->tag = 2 ;
ats_selptrset_mac(anairiats_sum_3, tmp165, atslab_0, arg0) ;
ats_selptrset_mac(anairiats_sum_3, tmp165, atslab_1, arg1) ;
return (tmp165) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__locpragma2_make] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 9858(line=486, offs=3) -- 9885(line=486, offs=30)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__the_location_pragma_get () {
/* local vardec */
ATSlocal (ats_ptr_type, tmp166) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__the_location_pragma_get:
tmp166 = ats_ptrget_mac(ats_ptr_type, statmp157) ;
return (tmp166) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__the_location_pragma_get] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 9922(line=489, offs=3) -- 9949(line=489, offs=30)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__the_location_pragma_set (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp167) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__the_location_pragma_set:
ats_ptrget_mac(ats_ptr_type, statmp157) = arg0 ;
return /* (tmp167) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__the_location_pragma_set] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 9989(line=493, offs=3) -- 10169(line=502, offs=2)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__the_location_pragma_pop () {
/* local vardec */
// ATSlocal_void (tmp168) ;
ATSlocal (ats_ptr_type, tmp169) ;
ATSlocal (ats_ptr_type, tmp170) ;
ATSlocal (ats_ptr_type, tmp171) ;
ATSlocal (ats_ptr_type, tmp172) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__the_location_pragma_pop:
tmp169 = ats_ptrget_mac(ats_ptr_type, statmp157) ;
tmp170 = ats_ptrget_mac(ats_ptr_type, statmp161) ;
if (tmp170 == (ats_sum_ptr_type)0) { ats_caseof_failure_handle ("/tmp/ATS-Postiats/src/pats_location.dats: 10077(line=498, offs=7) -- 10098(line=498, offs=28)") ; }
tmp171 = ats_caselptrlab_mac(anairiats_sum_4, tmp170, atslab_0) ;
tmp172 = ats_caselptrlab_mac(anairiats_sum_4, tmp170, atslab_1) ;
ats_ptrget_mac(ats_ptr_type, statmp157) = tmp171 ;
ats_ptrget_mac(ats_ptr_type, statmp161) = tmp172 ;
return /* (tmp168) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__the_location_pragma_pop] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 10249(line=506, offs=3) -- 10427(line=514, offs=2)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__the_location_pragma_push () {
/* local vardec */
// ATSlocal_void (tmp173) ;
ATSlocal (ats_ptr_type, tmp174) ;
ATSlocal (ats_ptr_type, tmp175) ;
ATSlocal (ats_ptr_type, tmp176) ;
ATSlocal (ats_ptr_type, tmp177) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__the_location_pragma_push:
tmp174 = ats_ptrget_mac(ats_ptr_type, statmp157) ;
tmp175 = ats_ptrget_mac(ats_ptr_type, statmp161) ;
tmp176 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_location_2edats__LOCPRAGMA0_0) ;
ats_ptrget_mac(ats_ptr_type, statmp157) = tmp176 ;
tmp177 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp177, atslab_0, tmp174) ;
ats_selptrset_mac(anairiats_sum_4, tmp177, atslab_1, tmp175) ;
ats_ptrget_mac(ats_ptr_type, statmp161) = tmp177 ;
return /* (tmp173) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__the_location_pragma_push] */

/*
// /tmp/ATS-Postiats/src/pats_location.dats: 10516(line=519, offs=17) -- 10707(line=527, offs=54)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_locpragma (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp178) ;
ATSlocal (ats_ptr_type, tmp179) ;
// ATSlocal_void (tmp180) ;
// ATSlocal_void (tmp181) ;
ATSlocal (ats_ptr_type, tmp182) ;
ATSlocal (ats_ptr_type, tmp183) ;
// ATSlocal_void (tmp184) ;
// ATSlocal_void (tmp185) ;
// ATSlocal_void (tmp186) ;
// ATSlocal_void (tmp187) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_locpragma:
do {
/* branch: __ats_lab_3 */
__ats_lab_3_0:
if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_4_0 ; }
__ats_lab_3_1:
break ;

/* branch: __ats_lab_4 */
__ats_lab_4_0:
if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_5_0 ; }
__ats_lab_4_1:
tmp179 = ats_caselptrlab_mac(anairiats_sum_2, arg1, atslab_0) ;
/* tmp180 = */ atspre_fprint_string (arg0, ATSstrcst("#locpragma(")) ;
/* tmp181 = */ atspre_fprint_string (arg0, tmp179) ;
/* tmp178 = */ atspre_fprint_string (arg0, ATSstrcst("): ")) ;
break ;

/* branch: __ats_lab_5 */
__ats_lab_5_0:
// if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_5_1:
tmp182 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ;
tmp183 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ;
/* tmp184 = */ atspre_fprint_string (arg0, ATSstrcst("#locpragma(")) ;
/* tmp185 = */ atspre_fprint_string (arg0, tmp182) ;
/* tmp186 = */ atspre_fprint_string (arg0, ATSstrcst(": ")) ;
/* tmp187 = */ atspre_fprint_string (arg0, tmp183) ;
/* tmp178 = */ atspre_fprint_string (arg0, ATSstrcst("): ")) ;
break ;
} while (0) ;
return /* (tmp178) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__fprint_locpragma] */

/* static load function */

// extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_atspre_2edats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_filename_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__staload (void) ;

ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2edats__staload () {
static int _2tmp_2ATS_2dPostiats_2src_2pats_location_2edats__staload_flag = 0 ;
if (_2tmp_2ATS_2dPostiats_2src_2pats_location_2edats__staload_flag) return ;
_2tmp_2ATS_2dPostiats_2src_2pats_location_2edats__staload_flag = 1 ;

// _2tmp_2ATS_2dPostiats_2src_2pats_atspre_2edats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_filename_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__staload () ;

_2tmp_2ATS_2dPostiats_2src_2pats_location_2edats__LOCPRAGMA0_0.tag = 0 ;
// _2tmp_2ATS_2dPostiats_2src_2pats_location_2edats__LOCPRAGMA1_1.tag = 1 ;
// _2tmp_2ATS_2dPostiats_2src_2pats_location_2edats__LOCPRAGMA2_2.tag = 2 ;
return ;
} /* staload function */

/* dynamic load function */

// dynload flag declaration
extern ats_int_type _2tmp_2ATS_2dPostiats_2src_2pats_location_2edats__dynload_flag ;

ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_location_2edats__dynload () {
_2tmp_2ATS_2dPostiats_2src_2pats_location_2edats__dynload_flag = 1 ;
_2tmp_2ATS_2dPostiats_2src_2pats_location_2edats__staload () ;

#ifdef _ATS_PROOFCHECK
ATS_2d0_2e2_2e12_2prelude_2SATS_2list_2esats__list_length_is_nonnegative_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2SATS_2list_vt_2esats__list_vt_length_is_nonnegative_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2SATS_2array_2esats__array_v_takeout2_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____copy_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____free_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____assert_prfck () ;
#endif /* _ATS_PROOFCHECK */

/* marking static variables for GC */
ATS_GC_MARKROOT(&statmp82, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp83, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp157, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp160, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp161, sizeof(ats_ptr_type)) ;
ATS_GC_MARKROOT(&statmp162, sizeof(ats_ptr_type)) ;

/* marking external values for GC */

/* code for dynamic loading */
statmp83 = _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__locpragma0_make () ;
statmp82 = ATS_MALLOC(sizeof(anairiats_rec_1)) ;
ats_selptrset_mac(anairiats_rec_1, statmp82, atslab_filename, _2tmp_2ATS_2dPostiats_2src_2pats_filename_2esats__filename_dummy) ;
ats_selptrset_mac(anairiats_rec_1, statmp82, atslab_beg_ntot, -1L) ;
ats_selptrset_mac(anairiats_rec_1, statmp82, atslab_beg_nrow, -1) ;
ats_selptrset_mac(anairiats_rec_1, statmp82, atslab_beg_ncol, -1) ;
ats_selptrset_mac(anairiats_rec_1, statmp82, atslab_end_ntot, -1L) ;
ats_selptrset_mac(anairiats_rec_1, statmp82, atslab_end_nrow, -1) ;
ats_selptrset_mac(anairiats_rec_1, statmp82, atslab_end_ncol, -1) ;
ats_selptrset_mac(anairiats_rec_1, statmp82, atslab_locpragma, statmp83) ;

ATS_GC_MARKROOT(&_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_dummy, sizeof(ats_ptr_type)) ;
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_dummy = statmp82 ;
statmp160 = (ats_sum_ptr_type)(&_2tmp_2ATS_2dPostiats_2src_2pats_location_2edats__LOCPRAGMA0_0) ;
statmp157 = ref_01088_ats_ptr_type (statmp160) ;
statmp162 = (ats_sum_ptr_type)0 ;
statmp161 = ref_01088_ats_ptr_type (statmp162) ;
return ;
} /* end of [dynload function] */

/* external codes at mid */
/* external codes at bot */

/* ****** ****** */

/* end of [pats_location_dats.c] */
