----------------------------------------------- /* * SAC-Program crud.sac : */ /* * type definitions */ external classtype World::World; external classtype Terminal::Terminal; external classtype TermFile::TermFile; external typealias IOresources::TermFile; external typedef sacprelude::SACarg; external SACarg SACARGcopy( SACarg); external void SACARGfree( SACarg); external typedef String::string; external string copy_string( string); external void free( string); /* * Global Definitions */ SAC_MT_DEFINE() SAC_PF_DEFINE() SAC_HM_DEFINE() /* * prototypes for locals (FUNDEFS) */ external /* sticky */ int[.] sacprelude::partitionIntersectMax( int[*] PWLbound1 { ,NN } , int[*] ivmin { ,NN } ) /* * partitionIntersectMax :: --- */ external /* sticky */ int[.], int[.], int[.], int[.] sacprelude::partitionSlicer( int[*] min { ,NN } , int[*] max { ,NN } , int[*] axis { ,NN } , int[*] lb { ,NN } , int[*] ub { ,NN } ) /* * partitionSlicer :: --- */ external /* sticky */ bool[.] sacprelude::isPartitionIntersectNull( int[*] idxmin { ,NN } , int[*] idxmax { ,NN } , int[*] bound1 { ,NN } , int[*] bound2 { ,NN } ) /* * isPartitionIntersectNull :: --- */ external /* sticky */ int[.] sacprelude::partitionIntersectMin( int[*] PWLbound2 { ,NN } , int[*] ivmax { ,NN } ) /* * partitionIntersectMin :: --- */ external /* sticky */ int[*] sacprelude::adjustLacFunParams( bool[*] p { ,NN } , int[*] i { ,NN } , int[*] iv { ,NN } ) /* * adjustLacFunParams :: --- */ external /* sticky */ int sacprelude::prod( int[*] v { ,NN } ) /* * prod :: --- */ external /* sticky */ int[*] sacprelude::adjustLacFunParamsReshape( bool[*] p { ,NN } , int[*] i { ,NN } , int[*] iv { ,NN } , int[*] shp { ,NN } ) /* * adjustLacFunParamsReshape :: --- */ external /* sticky */ bool sacprelude::eq( char[*] A { ,NN } , char[*] B { ,NN } ) /* * eq :: --- */ external /* sticky */ bool sacprelude::eq( bool[*] A { ,NN } , bool[*] B { ,NN } ) /* * eq :: --- */ external /* sticky */ bool sacprelude::eq( double[*] A { ,NN } , double[*] B { ,NN } ) /* * eq :: --- */ external /* sticky */ bool sacprelude::eq( float[*] A { ,NN } , float[*] B { ,NN } ) /* * eq :: --- */ external /* sticky */ bool sacprelude::eq( int[*] A { ,NN } , int[*] B { ,NN } ) /* * eq :: --- */ external /* sticky */ int[.], int[.], int[.] sacprelude::gridFiller( int[*] lb { ,NN } , int[*] ub { ,NN } , int[*] wdth { ,NN } , int[*] dim { ,NN } , int[*] maxwidth { ,NN } ) /* * gridFiller :: --- */ external /* sticky */ bool{0} sacprelude::zero( bool[*] A { ,NN } ) /* * zero :: --- */ external /* sticky */ char{ } sacprelude::zero( char[*] A { ,NN } ) /* * zero :: --- */ external /* sticky */ float{0.0...} sacprelude::zero( float[*] A { ,NN } ) /* * zero :: --- */ external /* sticky */ double{0.0...} sacprelude::zero( double[*] A { ,NN } ) /* * zero :: --- */ external /* sticky */ int{0} sacprelude::zero( int[*] A { ,NN } ) /* * zero :: --- */ external /* sticky */ int sacprelude::partitionMax( int[*] x { ,NN } , int[*] y { ,NN } ) /* * partitionMax :: --- */ external /* sticky */ int sacprelude::partitionMin( int[*] x { ,NN } , int[*] y { ,NN } ) /* * partitionMin :: --- */ external /* sticky */ char[*] sacprelude::sel( int[*] idx { ,NN } , char[*] array { ,NN } ) /* * sel :: --- */ external /* sticky */ bool[*] sacprelude::sel( int[*] idx { ,NN } , bool[*] array { ,NN } ) /* * sel :: --- */ external /* sticky */ double[*] sacprelude::sel( int[*] idx { ,NN } , double[*] array { ,NN } ) /* * sel :: --- */ external /* sticky */ float[*] sacprelude::sel( int[*] idx { ,NN } , float[*] array { ,NN } ) /* * sel :: --- */ external /* sticky */ int[*] sacprelude::sel( int[*] idx { ,NN } , int[*] array { ,NN } ) /* * sel :: --- */ external hidden(0) * World:_INIT::init_TheWorld( hidden(0) *_OI_object { ,NN } ) /* * init_TheWorld :: --- */ external hidden(0) *, hidden(1) * Terminal:_INIT::init_TheTerminal( hidden(0) *_rso_5_TheWorld { ,NN } , hidden(1) *_OI_object { ,NN } ) /* * init_TheTerminal :: --- */ external hidden(1) *, hidden(2) * TermFile:_INIT::init_stdout( hidden(1) *_rso_37_TheTerminal { ,NN } , hidden(2) *_OI_object { ,NN } ) /* * init_stdout :: --- */ external hidden(1) *, hidden(2) * ScalarIO::show( hidden(1) *_rso_871_TheTerminal { ,NN } , hidden(2) *_rso_870_stdout { ,NN } , double c { ,NN } ) /* * show :: --- */ external /* sticky */ int[*] sacprelude::adjustLacFunParams( bool[*] p { ,NN } , int[*] i { ,NN } , int[.] iv { ,NN } ) /* * adjustLacFunParams :: --- */ external /* sticky */ int[*] sacprelude::adjustLacFunParamsReshape( bool[*] p { ,NN } , int[*] i { ,NN } , int[.] iv { ,NN } , int[.] shp { ,NN } ) /* * adjustLacFunParamsReshape :: --- */ /* * global objects */ external hidden(0) World::TheWorld; external hidden(1) Terminal::TheTerminal; external hidden(2) TermFile::stdout; /* * function definitions (FUNDEFS) */ /**************************************************************************** * Wrapper function: * _MAIN::main(...) [ wrapper ] ****************************************************************************/ hidden(1) *, hidden(2) *, hidden(0) *, int{0} _MAIN::main( hidden(1) *_rso_39_TheTerminal { ,NN } , hidden(2) *_rso_38_stdout { ,NN } , hidden(0) *_rso_37_TheWorld { ,NN } ) /* * main :: --- */ { int{0} _cwc_62 { , NN } ; hidden(1) _cwc_66 { , NN } ; hidden(2) _cwc_65 { , NN } ; hidden(0) _cwc_64 { , NN } ; int{0} _cwc_63 { , NN } ; _cwc_66, _cwc_65, _cwc_64, _cwc_63 = _MAIN::main( _rso_39_TheTerminal, _rso_38_stdout, _rso_37_TheWorld) ; _cwc_62 = 0; return( _cwc_66, _cwc_65, _cwc_64, _cwc_62); } /**************************************************************************** * _MAIN::main(...) [ body ] ****************************************************************************/ hidden(1) *, hidden(2) *, hidden(0) *, int{0} _MAIN::main( hidden(1) *_rso_42_TheTerminal { ,NN } , hidden(2) *_rso_41_stdout { ,NN } , hidden(0) *_rso_40_TheWorld { ,NN } ) /* * main :: --- */ { double[1000] _lirmov_2705_yyy { , NN } ; double _lirmov_2704__dup_1861__pinl_1252__flat_304 { , NN } ; int _lirmov_2703__dup_1913__pinl_1269__flat_1360__SSA5_1 { , NN } ; int _lirmov_2702__wlidx_2591_yyy { , NN } ; int _lirmov_2701__dup_1859__pinl_1254__eat_57 { , NN } ; int[1] _lirmov_2700__dup_1858__pinl_1250_iv { , NN } ; double[1000] _lirmov_2696_zzz { , NN } ; double _lirmov_2695__dup_1871__pinl_1293__flat_304 { , NN } ; int _lirmov_2694__dup_1920__pinl_1310__flat_1360__SSA5_1 { , NN } ; int _lirmov_2693__wlidx_2590_zzz { , NN } ; int _lirmov_2692__dup_1869__pinl_1295__eat_57 { , NN } ; int[1] _lirmov_2691__dup_1868__pinl_1291_iv { , NN } ; int _ivesli_2608 { , NN } ; int{0} _isaa_1993__rso_40_TheWorld { , NN } ; double _pinl_1704_xx__SSA0_1 { , NN } ; double[.] _pinl_1703_res1__SSA0_1 { , NN } ; double{0.0...} _pinl_1249__flat_300 { , NN } ; double _pinl_1351__flat_82 { , NN } ; hidden(2) _rso_41_stdout__SSA0_3 { , NN } ; /* declared: TermFile::TermFile */ hidden(1) _rso_42_TheTerminal__SSA0_3 { , NN } ; /* declared: Terminal::Terminal */ hidden(2) _rso_41_stdout__SSA0_2 { , NN } ; /* declared: TermFile::TermFile */ hidden(1) _rso_42_TheTerminal__SSA0_2 { , NN } ; /* declared: Terminal::Terminal */ hidden(2) _rso_41_stdout__SSA0_1 { , NN } ; /* declared: TermFile::TermFile */ hidden(1) _rso_42_TheTerminal__SSA0_1 { , NN } ; /* declared: Terminal::Terminal */ hidden(0) _rso_40_TheWorld__SSA0_1 { , NN } ; /* declared: World::World */ int{1} _flat_0 { , NN } ; double{5.8...} t { , NN } ; double{9.4...} r { , NN } ; double{1.6...} q { , NN } ; int{990} n { , NN } ; _isaa_1993__rso_40_TheWorld = 0; _rso_40_TheWorld__SSA0_1, _rso_42_TheTerminal__SSA0_1, _rso_41_stdout__SSA0_1 = _MAIN:_INIT::init( _rso_40_TheWorld, _rso_42_TheTerminal, _rso_41_stdout) ; n = 990; q = 1.600000000000000088817841970012523233890533447265625; r = 9.4000000000000003552713678800500929355621337890625; t = 5.79999999999999982236431605997495353221893310546875; _flat_0 = 1; _pinl_1249__flat_300 = 0.0; _lirmov_2696_zzz = with /** FOLDABLE (all gen's const) **/ /** REFERENCED: 1 (total num refs) **/ { ([ 0 ] <= _lirmov_2691__dup_1868__pinl_1291_iv=[_lirmov_2692__dup_1869__pinl_1295__eat_57] (IDXS:_lirmov_2693__wlidx_2590_zzz) < [ 1000 ] genwidth [ 1000 ]) { _lirmov_2694__dup_1920__pinl_1310__flat_1360__SSA5_1 = _add_SxS_( 2, _lirmov_2692__dup_1869__pinl_1295__eat_57); _lirmov_2695__dup_1871__pinl_1293__flat_304 = _tod_S_( _lirmov_2694__dup_1920__pinl_1310__flat_1360__SSA5_1); } : _lirmov_2695__dup_1871__pinl_1293__flat_304 ; } : genarray( [ 1000 ], _pinl_1249__flat_300, IDX(_lirmov_2693__wlidx_2590_zzz)); _lirmov_2705_yyy = with /** FOLDABLE (all gen's const) **/ /** REFERENCED: 1 (total num refs) **/ { ([ 0 ] <= _lirmov_2700__dup_1858__pinl_1250_iv=[_lirmov_2701__dup_1859__pinl_1254__eat_57] (IDXS:_lirmov_2702__wlidx_2591_yyy) < [ 1000 ] genwidth [ 1000 ]) { _lirmov_2703__dup_1913__pinl_1269__flat_1360__SSA5_1 = _add_SxS_( 1, _lirmov_2701__dup_1859__pinl_1254__eat_57); _lirmov_2704__dup_1861__pinl_1252__flat_304 = _tod_S_( _lirmov_2703__dup_1913__pinl_1269__flat_1360__SSA5_1); } : _lirmov_2704__dup_1861__pinl_1252__flat_304 ; } : genarray( [ 1000 ], _pinl_1249__flat_300, IDX(_lirmov_2702__wlidx_2591_yyy)); _pinl_1703_res1__SSA0_1, _pinl_1704_xx__SSA0_1 = _MAIN::_dup_1705_main__Loop_0( _lirmov_2705_yyy, _lirmov_2696_zzz, n, q, r, t, _pinl_1249__flat_300, _flat_0) ; _ivesli_2608 = 0; _pinl_1351__flat_82 = _idx_sel_( _ivesli_2608, _pinl_1703_res1__SSA0_1); _rso_42_TheTerminal__SSA0_2, _rso_41_stdout__SSA0_2 = StdIO::show( _rso_42_TheTerminal__SSA0_1, _rso_41_stdout__SSA0_1, _pinl_1351__flat_82) ; _rso_42_TheTerminal__SSA0_3, _rso_41_stdout__SSA0_3 = StdIO::show( _rso_42_TheTerminal__SSA0_2, _rso_41_stdout__SSA0_2, _pinl_1704_xx__SSA0_1) ; return( _rso_42_TheTerminal__SSA0_3, _rso_41_stdout__SSA0_3, _rso_40_TheWorld__SSA0_1, _isaa_1993__rso_40_TheWorld); } /**************************************************************************** * Loop function: * _MAIN::_dup_1705_main__Loop_0(...) [ body ] ****************************************************************************/ double[.], double _MAIN::_dup_1705_main__Loop_0( double[1000] yyy { ,NN } , double[1000] zzz { ,NN } , int{990} n { ,NN } , double{1.6...} q { ,NN } , double{9.4...} r { ,NN } , double{5.8...} t { ,NN } , double xx { ,NN } , int i { ,NN } ) /* * _dup_1705_main__Loop_0 :: --- */ { int _al_1728 { , NN } ; int _pinl_1325__flat_213 { , NN } ; bool _pinl_1326__flat_185 { , NN } ; double[.] res1__SSA0_2 { , NN } ; double xx__SSA0_3 { , NN } ; double xx__SSA0_2 { , NN } ; double[.] res1__SSA0_1 { , NN } ; double xx__SSA0_1 { , NN } ; double[.] res1 { , NN } ; res1, xx__SSA0_1 = _MAIN::Loop1( i, n, q, r, t, yyy, zzz, xx) ; _pinl_1325__flat_213 = _add_SxS_( i, 1); _al_1728 = _add_SxS_( -499999, i); _pinl_1326__flat_185 = _le_SxS_( _al_1728, 0); if (_pinl_1326__flat_185) { res1__SSA0_1, xx__SSA0_2 = _MAIN::_dup_1705_main__Loop_0( yyy, zzz, n, q, r, t, xx__SSA0_1, _pinl_1325__flat_213) ; } else { } xx__SSA0_3 = ( _pinl_1326__flat_185 ? xx__SSA0_2 : xx__SSA0_1 ); res1__SSA0_2 = ( _pinl_1326__flat_185 ? res1__SSA0_1 : res1 ); return( res1__SSA0_2, xx__SSA0_3); } /**************************************************************************** * _MAIN:_INIT::init(...) [ body ] ****************************************************************************/ hidden(0) *, hidden(1) *, hidden(2) * _MAIN:_INIT::init( hidden(0) *_rso_45_TheWorld { ,NN } , hidden(1) *_rso_44_TheTerminal { ,NN } , hidden(2) *_rso_43_stdout { ,NN } ) /* * init :: --- */ { hidden(2) _rso_43_stdout__SSA0_1 { , NN } ; /* declared: TermFile::TermFile */ hidden(1) _rso_44_TheTerminal__SSA0_2 { , NN } ; /* declared: Terminal::Terminal */ hidden(1) _rso_44_TheTerminal__SSA0_1 { , NN } ; /* declared: Terminal::Terminal */ hidden(0) _rso_45_TheWorld__SSA0_2 { , NN } ; /* declared: World::World */ hidden(0) _rso_45_TheWorld__SSA0_1 { , NN } ; /* declared: World::World */ _rso_45_TheWorld__SSA0_1 = World:_INIT::init_TheWorld( _rso_45_TheWorld) ; _rso_45_TheWorld__SSA0_2, _rso_44_TheTerminal__SSA0_1 = Terminal:_INIT::init_TheTerminal( _rso_45_TheWorld__SSA0_1, _rso_44_TheTerminal) ; _rso_44_TheTerminal__SSA0_2, _rso_43_stdout__SSA0_1 = TermFile:_INIT::init_stdout( _rso_44_TheTerminal__SSA0_1, _rso_43_stdout) ; return( _rso_45_TheWorld__SSA0_2, _rso_44_TheTerminal__SSA0_2, _rso_43_stdout__SSA0_1); } /**************************************************************************** * _MAIN::Loop1(...) [ body ] ****************************************************************************/ double[.], double _MAIN::Loop1( int i { ,NN } , int n { ,NN } , double q { ,NN } , double r { ,NN } , double t { ,NN } , double[1000] y { ,NN } , double[1000] z { ,NN } , double xx { ,NN } ) /* * Loop1 :: --- */ { int _ivesli_2626 { , NN } ; int _ivesli_2625 { , NN } ; int _ivesli_2621 { , NN } ; int _ivesli_2620 { , NN } ; int _ivesli_2619 { , NN } ; int _ivesli_2618 { , NN } ; int _ivesli_2614 { , NN } ; int _ivesli_2613 { , NN } ; int _ivesli_2612 { , NN } ; int _ivesli_2611 { , NN } ; int _ivesli_2610 { , NN } ; int _ivesli_2609 { , NN } ; int _wlidx_2601__pinl_1670_res { , NN } ; int _wlidx_2600__pinl_1653_res { , NN } ; int _wlidx_2599__pinl_1624_z { , NN } ; int _wlidx_2598__pinl_1600_res { , NN } ; int _wlidx_2597__pinl_1582_res { , NN } ; int _wlidx_2596__pinl_1552_z { , NN } ; int _wlidx_2595__pinl_1504_z { , NN } ; int _wlidx_2594__pinl_1488_res { , NN } ; int _wlidx_2593__pinl_1458_z { , NN } ; int _wlidx_2592__pinl_1397_z { , NN } ; double _pinl_1415__flat_82 { , NN } ; int _pinl_1398__eat_56 { , NN } ; double[989] _pinl_1397_z { , NN } ; int[1] _pinl_1394_iv { , NN } ; double{0.0...} _pinl_1393__flat_28 { , NN } ; double _pinl_1476__flat_82 { , NN } ; int _pinl_1459__eat_48 { , NN } ; double[.] _pinl_1458_z { , NN } ; int[1] _pinl_1456_iv { , NN } ; int _pinl_1489__eat_53 { , NN } ; double[.] _pinl_1488_res { , NN } ; double _pinl_1487__flat_1058 { , NN } ; double _pinl_1486__flat_1059 { , NN } ; int[1] _pinl_1485_iv { , NN } ; double{1.0...} _pinl_1482__flat_1055 { , NN } ; double _pinl_1522__flat_82 { , NN } ; int _pinl_1505__eat_56 { , NN } ; double[990] _pinl_1504_z { , NN } ; int[1] _pinl_1501_iv { , NN } ; double _pinl_1570__flat_82 { , NN } ; int _pinl_1553__eat_48 { , NN } ; double[.] _pinl_1552_z { , NN } ; int[1] _pinl_1550_iv { , NN } ; int _pinl_1583__eat_53 { , NN } ; double[.] _pinl_1582_res { , NN } ; double _pinl_1581__flat_1058 { , NN } ; double _pinl_1580__flat_1059 { , NN } ; int[1] _pinl_1579_iv { , NN } ; int _pinl_1601__eat_52 { , NN } ; double[.] _pinl_1600_res { , NN } ; double _pinl_1599__flat_1131 { , NN } ; double _pinl_1598__flat_1132 { , NN } ; double _pinl_1597__flat_1133 { , NN } ; int[1] _pinl_1596_iv { , NN } ; double{2.0...} _pinl_1595__flat_1126 { , NN } ; double _pinl_1642__flat_82 { , NN } ; int _pinl_1625__eat_51 { , NN } ; double[.] _pinl_1624_z { , NN } ; int[1] _pinl_1622_iv { , NN } ; int _pinl_1654__eat_50 { , NN } ; double[.] _pinl_1653_res { , NN } ; double _pinl_1652__flat_1115 { , NN } ; double _pinl_1651__flat_1116 { , NN } ; double _pinl_1650__flat_1117 { , NN } ; int[1] _pinl_1649_iv { , NN } ; int _pinl_1671__eat_49 { , NN } ; double[.] _pinl_1670_res { , NN } ; double _pinl_1669__flat_1072 { , NN } ; double _pinl_1668__flat_1073 { , NN } ; int[1] _pinl_1667_iv { , NN } ; double _pinl_1678__flat_197 { , NN } ; _pinl_1393__flat_28 = 0.0; _pinl_1397_z = with /** FOLDABLE (all gen's const) **/ /** REFERENCED: 1 (total num refs) **/ { ([ 0 ] <= _pinl_1394_iv=[_pinl_1398__eat_56] (IDXS:_wlidx_2592__pinl_1397_z) < [ 989 ] genwidth [ 989 ]) { _ivesli_2625 = _idxs2offset_( [ 1000 ], _pinl_1398__eat_56); _ivesli_2626 = _add_SxS_( 11, _ivesli_2625); _pinl_1415__flat_82 = _idx_sel_( _ivesli_2626, z); } : _pinl_1415__flat_82 ; } : genarray( [ 989 ], _pinl_1393__flat_28, IDX(_wlidx_2592__pinl_1397_z)); _pinl_1458_z = with /** REFERENCED: 2 (total num refs) **/ { ([ 0 ] <= _pinl_1456_iv=[_pinl_1459__eat_48] (IDXS:_wlidx_2593__pinl_1458_z) < [ n ] genwidth [ n ]) { _ivesli_2621 = _idxs2offset_( [ 989 ], _pinl_1459__eat_48); _pinl_1476__flat_82 = _idx_sel_( _ivesli_2621, _pinl_1397_z); } : _pinl_1476__flat_82 ; } : genarray( [ n ], _pinl_1393__flat_28, IDX(_wlidx_2593__pinl_1458_z)); _pinl_1482__flat_1055 = 1.0; _pinl_1488_res = with /** REFERENCED: 1 (total num refs) **/ { ([ 0 ] <= _pinl_1485_iv=[_pinl_1489__eat_53] (IDXS:_wlidx_2594__pinl_1488_res) < [ n ] genwidth [ n ]) { _ivesli_2620 = _idxs2offset_( [ n ], _pinl_1489__eat_53); _pinl_1486__flat_1059 = _idx_sel_( _ivesli_2620, _pinl_1458_z); _pinl_1487__flat_1058 = _mul_SxS_( t, _pinl_1486__flat_1059); } : _pinl_1487__flat_1058 ; } : genarray( [ n ], _pinl_1482__flat_1055, IDX(_wlidx_2594__pinl_1488_res)); _pinl_1504_z = with /** FOLDABLE (all gen's const) **/ /** REFERENCED: 1 (total num refs) **/ { ([ 0 ] <= _pinl_1501_iv=[_pinl_1505__eat_56] (IDXS:_wlidx_2595__pinl_1504_z) < [ 990 ] genwidth [ 990 ]) { _ivesli_2618 = _idxs2offset_( [ 1000 ], _pinl_1505__eat_56); _ivesli_2619 = _add_SxS_( 10, _ivesli_2618); _pinl_1522__flat_82 = _idx_sel_( _ivesli_2619, z); } : _pinl_1522__flat_82 ; } : genarray( [ 990 ], _pinl_1393__flat_28, IDX(_wlidx_2595__pinl_1504_z)); _pinl_1552_z = with /** REFERENCED: 2 (total num refs) **/ { ([ 0 ] <= _pinl_1550_iv=[_pinl_1553__eat_48] (IDXS:_wlidx_2596__pinl_1552_z) < [ n ] genwidth [ n ]) { _ivesli_2614 = _idxs2offset_( [ 990 ], _pinl_1553__eat_48); _pinl_1570__flat_82 = _idx_sel_( _ivesli_2614, _pinl_1504_z); } : _pinl_1570__flat_82 ; } : genarray( [ n ], _pinl_1393__flat_28, IDX(_wlidx_2596__pinl_1552_z)); _pinl_1582_res = with /** REFERENCED: 2 (total num refs) **/ { ([ 0 ] <= _pinl_1579_iv=[_pinl_1583__eat_53] (IDXS:_wlidx_2597__pinl_1582_res) < [ n ] genwidth [ n ]) { _ivesli_2613 = _idxs2offset_( [ n ], _pinl_1583__eat_53); _pinl_1580__flat_1059 = _idx_sel_( _ivesli_2613, _pinl_1552_z); _pinl_1581__flat_1058 = _mul_SxS_( r, _pinl_1580__flat_1059); } : _pinl_1581__flat_1058 ; } : genarray( [ n ], _pinl_1482__flat_1055, IDX(_wlidx_2597__pinl_1582_res)); _pinl_1595__flat_1126 = 2.0; _pinl_1600_res = with /** REFERENCED: 1 (total num refs) **/ { ([ 0 ] <= _pinl_1596_iv=[_pinl_1601__eat_52] (IDXS:_wlidx_2598__pinl_1600_res) < [ n ] genwidth [ n ]) { _ivesli_2612 = _idxs2offset_( [ n ], _pinl_1601__eat_52); _pinl_1597__flat_1133 = _idx_sel_( _ivesli_2612, _pinl_1488_res); _pinl_1598__flat_1132 = _idx_sel_( _ivesli_2612, _pinl_1582_res); _pinl_1599__flat_1131 = _add_SxS_( _pinl_1598__flat_1132, _pinl_1597__flat_1133); } : _pinl_1599__flat_1131 ; } : genarray( [ n ], _pinl_1595__flat_1126, IDX(_wlidx_2598__pinl_1600_res)); _pinl_1624_z = with /** REFERENCED: 2 (total num refs) **/ { ([ 0 ] <= _pinl_1622_iv=[_pinl_1625__eat_51] (IDXS:_wlidx_2599__pinl_1624_z) < [ n ] genwidth [ n ]) { _ivesli_2611 = _idxs2offset_( [ 1000 ], _pinl_1625__eat_51); _pinl_1642__flat_82 = _idx_sel_( _ivesli_2611, y); } : _pinl_1642__flat_82 ; } : genarray( [ n ], _pinl_1393__flat_28, IDX(_wlidx_2599__pinl_1624_z)); _pinl_1653_res = with /** REFERENCED: 2 (total num refs) **/ { ([ 0 ] <= _pinl_1649_iv=[_pinl_1654__eat_50] (IDXS:_wlidx_2600__pinl_1653_res) < [ n ] genwidth [ n ]) { _ivesli_2610 = _idxs2offset_( [ n ], _pinl_1654__eat_50); _pinl_1650__flat_1117 = _idx_sel_( _ivesli_2610, _pinl_1600_res); _pinl_1651__flat_1116 = _idx_sel_( _ivesli_2610, _pinl_1624_z); _pinl_1652__flat_1115 = _mul_SxS_( _pinl_1651__flat_1116, _pinl_1650__flat_1117); } : _pinl_1652__flat_1115 ; } : genarray( [ n ], _pinl_1482__flat_1055, IDX(_wlidx_2600__pinl_1653_res)); _pinl_1670_res = with /** REFERENCED: 1 (total num refs) **/ { ([ 0 ] <= _pinl_1667_iv=[_pinl_1671__eat_49] (IDXS:_wlidx_2601__pinl_1670_res) < [ n ] genwidth [ n ]) { _ivesli_2609 = _idxs2offset_( [ n ], _pinl_1671__eat_49); _pinl_1668__flat_1073 = _idx_sel_( _ivesli_2609, _pinl_1653_res); _pinl_1669__flat_1072 = _add_SxS_( q, _pinl_1668__flat_1073); } : _pinl_1669__flat_1072 ; } : genarray( [ n ], _pinl_1595__flat_1126, IDX(_wlidx_2601__pinl_1670_res)); _pinl_1678__flat_197 = _add_SxS_( xx, 1.0); return( _pinl_1670_res, _pinl_1678__flat_197); } /**************************************************************************** * StdIO::show(...) [ body ] ****************************************************************************/ inline hidden(1) *, hidden(2) * StdIO::show( hidden(1) *_rso_322_TheTerminal { ,NN } , hidden(2) *_rso_321_stdout { ,NN } , double c { ,NN } ) /* * show :: --- */ { hidden(2) _rso_321_stdout__SSA0_1 { , NN } ; /* declared: TermFile::TermFile */ hidden(1) _rso_322_TheTerminal__SSA0_1 { , NN } ; /* declared: Terminal::Terminal */ _rso_322_TheTerminal__SSA0_1, _rso_321_stdout__SSA0_1 = ScalarIO::show( _rso_322_TheTerminal, _rso_321_stdout, c) ; return( _rso_322_TheTerminal__SSA0_1, _rso_321_stdout__SSA0_1); } /**************************************************************************** * sacprelude::sel(...) [ body ] ****************************************************************************/ /* sticky */ inline int[*] sacprelude::sel( int[.] idx { ,NN } , int[*] array { ,NN } ) /* * sel :: --- */ { int _ivesli_2627 { , NN } ; int _wlidx_2602_res { , NN } ; int[1] _isaa_2150_idx { , NN } ; int[.] _isaa_2147_array { , NN } ; int[*] res { , NN } ; int _flat_154 { , NN } ; int[.] new_idx { , NN } ; int[.] iv { , NN } ; int[.] _flat_152 { , NN } ; int[.] new_shape { , NN } ; int _flat_146 { , NN } ; int{0} _flat_148 { , NN } ; _isaa_2147_array = _shape_A_( array); _isaa_2150_idx = _shape_A_( idx); _flat_148 = 0; _flat_146 = _idx_sel_( _flat_148, _isaa_2150_idx); new_shape = _drop_SxV_( _flat_146, _isaa_2147_array); _flat_152 = _mul_SxV_( 0, new_shape); res = with /** REFERENCED: 1 (total num refs) **/ { (_flat_152 <= iv (IDXS:_wlidx_2602_res) < new_shape) { new_idx = _cat_VxV_( idx, iv); _ivesli_2627 = _vect2offset_( _isaa_2147_array, new_idx); _flat_154 = _idx_sel_( _ivesli_2627, array); } : _flat_154 ; , default partition( iv (IDXS:_wlidx_2602_res) ): { } : _flat_148 ; } : genarray( new_shape, _flat_148, IDX(_wlidx_2602_res)); return( res); } /**************************************************************************** * sacprelude::sel(...) [ body ] ****************************************************************************/ /* sticky */ inline float[*] sacprelude::sel( int[.] idx { ,NN } , float[*] array { ,NN } ) /* * sel :: --- */ { int _ivesli_2628 { , NN } ; int _wlidx_2603_res { , NN } ; int[1] _isaa_2182_idx { , NN } ; int[.] _isaa_2179_array { , NN } ; float[*] res { , NN } ; float _flat_145 { , NN } ; int[.] new_idx { , NN } ; int[.] iv { , NN } ; float{0.0...} _flat_142 { , NN } ; int[.] _flat_143 { , NN } ; int[.] new_shape { , NN } ; int _flat_137 { , NN } ; int{0} _flat_139 { , NN } ; _isaa_2179_array = _shape_A_( array); _isaa_2182_idx = _shape_A_( idx); _flat_139 = 0; _flat_137 = _idx_sel_( _flat_139, _isaa_2182_idx); new_shape = _drop_SxV_( _flat_137, _isaa_2179_array); _flat_143 = _mul_SxV_( 0, new_shape); _flat_142 = 0.0f; res = with /** REFERENCED: 1 (total num refs) **/ { (_flat_143 <= iv (IDXS:_wlidx_2603_res) < new_shape) { new_idx = _cat_VxV_( idx, iv); _ivesli_2628 = _vect2offset_( _isaa_2179_array, new_idx); _flat_145 = _idx_sel_( _ivesli_2628, array); } : _flat_145 ; , default partition( iv (IDXS:_wlidx_2603_res) ): { } : _flat_142 ; } : genarray( new_shape, _flat_142, IDX(_wlidx_2603_res)); return( res); } /**************************************************************************** * sacprelude::sel(...) [ body ] ****************************************************************************/ /* sticky */ inline double[*] sacprelude::sel( int[.] idx { ,NN } , double[*] array { ,NN } ) /* * sel :: --- */ { int _ivesli_2629 { , NN } ; int _wlidx_2604_res { , NN } ; int[1] _isaa_2214_idx { , NN } ; int[.] _isaa_2211_array { , NN } ; double[*] res { , NN } ; double _flat_136 { , NN } ; int[.] new_idx { , NN } ; int[.] iv { , NN } ; double{0.0...} _flat_133 { , NN } ; int[.] _flat_134 { , NN } ; int[.] new_shape { , NN } ; int _flat_128 { , NN } ; int{0} _flat_130 { , NN } ; _isaa_2211_array = _shape_A_( array); _isaa_2214_idx = _shape_A_( idx); _flat_130 = 0; _flat_128 = _idx_sel_( _flat_130, _isaa_2214_idx); new_shape = _drop_SxV_( _flat_128, _isaa_2211_array); _flat_134 = _mul_SxV_( 0, new_shape); _flat_133 = 0.0; res = with /** REFERENCED: 1 (total num refs) **/ { (_flat_134 <= iv (IDXS:_wlidx_2604_res) < new_shape) { new_idx = _cat_VxV_( idx, iv); _ivesli_2629 = _vect2offset_( _isaa_2211_array, new_idx); _flat_136 = _idx_sel_( _ivesli_2629, array); } : _flat_136 ; , default partition( iv (IDXS:_wlidx_2604_res) ): { } : _flat_133 ; } : genarray( new_shape, _flat_133, IDX(_wlidx_2604_res)); return( res); } /**************************************************************************** * sacprelude::sel(...) [ body ] ****************************************************************************/ /* sticky */ inline bool[*] sacprelude::sel( int[.] idx { ,NN } , bool[*] array { ,NN } ) /* * sel :: --- */ { int _ivesli_2630 { , NN } ; int _wlidx_2605_res { , NN } ; int[1] _isaa_2246_idx { , NN } ; int[.] _isaa_2243_array { , NN } ; bool[*] res { , NN } ; bool _flat_127 { , NN } ; int[.] new_idx { , NN } ; int[.] iv { , NN } ; bool{0} _flat_124 { , NN } ; int[.] _flat_125 { , NN } ; int[.] new_shape { , NN } ; int _flat_119 { , NN } ; int{0} _flat_121 { , NN } ; _isaa_2243_array = _shape_A_( array); _isaa_2246_idx = _shape_A_( idx); _flat_121 = 0; _flat_119 = _idx_sel_( _flat_121, _isaa_2246_idx); new_shape = _drop_SxV_( _flat_119, _isaa_2243_array); _flat_125 = _mul_SxV_( 0, new_shape); _flat_124 = false; res = with /** REFERENCED: 1 (total num refs) **/ { (_flat_125 <= iv (IDXS:_wlidx_2605_res) < new_shape) { new_idx = _cat_VxV_( idx, iv); _ivesli_2630 = _vect2offset_( _isaa_2243_array, new_idx); _flat_127 = _idx_sel_( _ivesli_2630, array); } : _flat_127 ; , default partition( iv (IDXS:_wlidx_2605_res) ): { } : _flat_124 ; } : genarray( new_shape, _flat_124, IDX(_wlidx_2605_res)); return( res); } /**************************************************************************** * sacprelude::sel(...) [ body ] ****************************************************************************/ /* sticky */ inline char[*] sacprelude::sel( int[.] idx { ,NN } , char[*] array { ,NN } ) /* * sel :: --- */ { int _ivesli_2631 { , NN } ; int _wlidx_2606_res { , NN } ; int[1] _isaa_2278_idx { , NN } ; int[.] _isaa_2275_array { , NN } ; char[*] res { , NN } ; char _flat_118 { , NN } ; int[.] new_idx { , NN } ; int[.] iv { , NN } ; char{ } _flat_115 { , NN } ; int[.] _flat_116 { , NN } ; int[.] new_shape { , NN } ; int _flat_110 { , NN } ; int{0} _flat_112 { , NN } ; _isaa_2275_array = _shape_A_( array); _isaa_2278_idx = _shape_A_( idx); _flat_112 = 0; _flat_110 = _idx_sel_( _flat_112, _isaa_2278_idx); new_shape = _drop_SxV_( _flat_110, _isaa_2275_array); _flat_116 = _mul_SxV_( 0, new_shape); _flat_115 = ' '; res = with /** REFERENCED: 1 (total num refs) **/ { (_flat_116 <= iv (IDXS:_wlidx_2606_res) < new_shape) { new_idx = _cat_VxV_( idx, iv); _ivesli_2631 = _vect2offset_( _isaa_2275_array, new_idx); _flat_118 = _idx_sel_( _ivesli_2631, array); } : _flat_118 ; , default partition( iv (IDXS:_wlidx_2606_res) ): { } : _flat_115 ; } : genarray( new_shape, _flat_115, IDX(_wlidx_2606_res)); return( res); } /**************************************************************************** * sacprelude::zero(...) [ body ] ****************************************************************************/ /* sticky */ inline int{0} sacprelude::zero( int[*] A { ,NN } ) /* * zero :: --- */ { int{0} _flat_109 { , NN } ; _flat_109 = 0; return( _flat_109); } /**************************************************************************** * sacprelude::zero(...) [ body ] ****************************************************************************/ /* sticky */ inline double{0.0...} sacprelude::zero( double[*] A { ,NN } ) /* * zero :: --- */ { double{0.0...} _flat_108 { , NN } ; _flat_108 = 0.0; return( _flat_108); } /**************************************************************************** * sacprelude::zero(...) [ body ] ****************************************************************************/ /* sticky */ inline float{0.0...} sacprelude::zero( float[*] A { ,NN } ) /* * zero :: --- */ { float{0.0...} _flat_107 { , NN } ; _flat_107 = 0.0f; return( _flat_107); } /**************************************************************************** * sacprelude::zero(...) [ body ] ****************************************************************************/ /* sticky */ inline char{ } sacprelude::zero( char[*] A { ,NN } ) /* * zero :: --- */ { char{ } _flat_106 { , NN } ; _flat_106 = ' '; return( _flat_106); } /**************************************************************************** * sacprelude::zero(...) [ body ] ****************************************************************************/ /* sticky */ inline bool{0} sacprelude::zero( bool[*] A { ,NN } ) /* * zero :: --- */ { bool{0} _flat_105 { , NN } ; _flat_105 = false; return( _flat_105); } /**************************************************************************** * sacprelude::eq(...) [ body ] ****************************************************************************/ /* sticky */ inline bool sacprelude::eq( int[*] A { ,NN } , int[*] B { ,NN } ) /* * eq :: --- */ { int _ivesli_2633 { , NN } ; int _ivesli_2632 { , NN } ; int[.] _isaa_2325_A { , NN } ; int[.] _isaa_2322_B { , NN } ; int _ctz_1795 { , NN } ; bool _pinl_1679__flat_104 { , NN } ; bool _ea_855_res { , NN } ; bool res { , NN } ; bool _flat_101 { , NN } ; int _flat_102 { , NN } ; int _flat_103 { , NN } ; int[.] iv { , NN } ; bool{1} _flat_96 { , NN } ; int[.] _flat_97 { , NN } ; _isaa_2322_B = _shape_A_( B); _isaa_2325_A = _shape_A_( A); _flat_97 = _mul_SxV_( 0, _isaa_2325_A); _flat_96 = true; res = with /** REFERENCED: 1 (total num refs) **/ { (_flat_97 <= iv < _isaa_2325_A) { _ea_855_res = _accu_( iv); _ivesli_2633 = _vect2offset_( _isaa_2322_B, iv); _flat_103 = _idx_sel_( _ivesli_2633, B); _ivesli_2632 = _vect2offset_( _isaa_2325_A, iv); _flat_102 = _idx_sel_( _ivesli_2632, A); _ctz_1795 = _sub_SxS_( _flat_102, _flat_103); _flat_101 = _eq_SxS_( _ctz_1795, 0); _pinl_1679__flat_104 = _and_SxS_( _ea_855_res, _flat_101); } : _pinl_1679__flat_104 ; } : fold( sacprelude::and, _flat_96); return( res); } /**************************************************************************** * sacprelude::eq(...) [ body ] ****************************************************************************/ /* sticky */ inline bool sacprelude::eq( float[*] A { ,NN } , float[*] B { ,NN } ) /* * eq :: --- */ { int _ivesli_2635 { , NN } ; int _ivesli_2634 { , NN } ; int[.] _isaa_2336_A { , NN } ; int[.] _isaa_2333_B { , NN } ; float _ctz_1798 { , NN } ; bool _pinl_1680__flat_104 { , NN } ; bool _ea_857_res { , NN } ; bool res { , NN } ; bool _flat_93 { , NN } ; float _flat_94 { , NN } ; float _flat_95 { , NN } ; int[.] iv { , NN } ; bool{1} _flat_88 { , NN } ; int[.] _flat_89 { , NN } ; _isaa_2333_B = _shape_A_( B); _isaa_2336_A = _shape_A_( A); _flat_89 = _mul_SxV_( 0, _isaa_2336_A); _flat_88 = true; res = with /** REFERENCED: 1 (total num refs) **/ { (_flat_89 <= iv < _isaa_2336_A) { _ea_857_res = _accu_( iv); _ivesli_2635 = _vect2offset_( _isaa_2333_B, iv); _flat_95 = _idx_sel_( _ivesli_2635, B); _ivesli_2634 = _vect2offset_( _isaa_2336_A, iv); _flat_94 = _idx_sel_( _ivesli_2634, A); _ctz_1798 = _sub_SxS_( _flat_94, _flat_95); _flat_93 = _eq_SxS_( _ctz_1798, 0.0f); _pinl_1680__flat_104 = _and_SxS_( _ea_857_res, _flat_93); } : _pinl_1680__flat_104 ; } : fold( sacprelude::and, _flat_88); return( res); } /**************************************************************************** * sacprelude::eq(...) [ body ] ****************************************************************************/ /* sticky */ inline bool sacprelude::eq( double[*] A { ,NN } , double[*] B { ,NN } ) /* * eq :: --- */ { int _ivesli_2637 { , NN } ; int _ivesli_2636 { , NN } ; int[.] _isaa_2347_A { , NN } ; int[.] _isaa_2344_B { , NN } ; double _ctz_1801 { , NN } ; bool _pinl_1681__flat_104 { , NN } ; bool _ea_859_res { , NN } ; bool res { , NN } ; bool _flat_85 { , NN } ; double _flat_86 { , NN } ; double _flat_87 { , NN } ; int[.] iv { , NN } ; bool{1} _flat_80 { , NN } ; int[.] _flat_81 { , NN } ; _isaa_2344_B = _shape_A_( B); _isaa_2347_A = _shape_A_( A); _flat_81 = _mul_SxV_( 0, _isaa_2347_A); _flat_80 = true; res = with /** REFERENCED: 1 (total num refs) **/ { (_flat_81 <= iv < _isaa_2347_A) { _ea_859_res = _accu_( iv); _ivesli_2637 = _vect2offset_( _isaa_2344_B, iv); _flat_87 = _idx_sel_( _ivesli_2637, B); _ivesli_2636 = _vect2offset_( _isaa_2347_A, iv); _flat_86 = _idx_sel_( _ivesli_2636, A); _ctz_1801 = _sub_SxS_( _flat_86, _flat_87); _flat_85 = _eq_SxS_( _ctz_1801, 0.0); _pinl_1681__flat_104 = _and_SxS_( _ea_859_res, _flat_85); } : _pinl_1681__flat_104 ; } : fold( sacprelude::and, _flat_80); return( res); } /**************************************************************************** * sacprelude::eq(...) [ body ] ****************************************************************************/ /* sticky */ inline bool sacprelude::eq( bool[*] A { ,NN } , bool[*] B { ,NN } ) /* * eq :: --- */ { int _ivesli_2639 { , NN } ; int _ivesli_2638 { , NN } ; int[.] _isaa_2358_A { , NN } ; int[.] _isaa_2355_B { , NN } ; bool _pinl_1682__flat_104 { , NN } ; bool _ea_861_res { , NN } ; bool res { , NN } ; bool _flat_77 { , NN } ; bool _flat_78 { , NN } ; bool _flat_79 { , NN } ; int[.] iv { , NN } ; bool{1} _flat_72 { , NN } ; int[.] _flat_73 { , NN } ; _isaa_2355_B = _shape_A_( B); _isaa_2358_A = _shape_A_( A); _flat_73 = _mul_SxV_( 0, _isaa_2358_A); _flat_72 = true; res = with /** REFERENCED: 1 (total num refs) **/ { (_flat_73 <= iv < _isaa_2358_A) { _ea_861_res = _accu_( iv); _ivesli_2639 = _vect2offset_( _isaa_2355_B, iv); _flat_79 = _idx_sel_( _ivesli_2639, B); _ivesli_2638 = _vect2offset_( _isaa_2358_A, iv); _flat_78 = _idx_sel_( _ivesli_2638, A); _flat_77 = _eq_SxS_( _flat_78, _flat_79); _pinl_1682__flat_104 = _and_SxS_( _ea_861_res, _flat_77); } : _pinl_1682__flat_104 ; } : fold( sacprelude::and, _flat_72); return( res); } /**************************************************************************** * sacprelude::eq(...) [ body ] ****************************************************************************/ /* sticky */ inline bool sacprelude::eq( char[*] A { ,NN } , char[*] B { ,NN } ) /* * eq :: --- */ { int _ivesli_2641 { , NN } ; int _ivesli_2640 { , NN } ; int[.] _isaa_2368_A { , NN } ; int[.] _isaa_2365_B { , NN } ; bool _pinl_1683__flat_104 { , NN } ; bool _ea_863_res { , NN } ; bool res { , NN } ; bool _flat_69 { , NN } ; char _flat_70 { , NN } ; char _flat_71 { , NN } ; int[.] iv { , NN } ; bool{1} _flat_64 { , NN } ; int[.] _flat_65 { , NN } ; _isaa_2365_B = _shape_A_( B); _isaa_2368_A = _shape_A_( A); _flat_65 = _mul_SxV_( 0, _isaa_2368_A); _flat_64 = true; res = with /** REFERENCED: 1 (total num refs) **/ { (_flat_65 <= iv < _isaa_2368_A) { _ea_863_res = _accu_( iv); _ivesli_2641 = _vect2offset_( _isaa_2365_B, iv); _flat_71 = _idx_sel_( _ivesli_2641, B); _ivesli_2640 = _vect2offset_( _isaa_2368_A, iv); _flat_70 = _idx_sel_( _ivesli_2640, A); _flat_69 = _eq_SxS_( _flat_70, _flat_71); _pinl_1683__flat_104 = _and_SxS_( _ea_863_res, _flat_69); } : _pinl_1683__flat_104 ; } : fold( sacprelude::and, _flat_64); return( res); } /**************************************************************************** * sacprelude::prod(...) [ body ] ****************************************************************************/ /* sticky */ inline int sacprelude::prod( int[.] v { ,NN } ) /* * prod :: --- */ { int _ivesli_2642 { , NN } ; int[1] _isaa_2375_v { , NN } ; int{1} _isaa_2374_v { , NN } ; int _pinl_1684__flat_63 { , NN } ; int _wlbsc_937_sc_e { , NN } ; int _ea_865_res { , NN } ; int res { , NN } ; int _flat_61 { , NN } ; int i { , NN } ; int[1] _flat_60 { , NN } ; int{0} _flat_58 { , NN } ; _isaa_2374_v = 1; _isaa_2375_v = _shape_A_( v); _flat_58 = 0; _wlbsc_937_sc_e = _idx_sel_( _flat_58, _isaa_2375_v); res = with /** REFERENCED: 1 (total num refs) **/ { ([ 0 ] <= _flat_60=[i] < [ _wlbsc_937_sc_e ] genwidth [ _wlbsc_937_sc_e ]) { _ea_865_res = _accu_( _flat_60); _ivesli_2642 = _idxs2offset_( _isaa_2375_v, i); _flat_61 = _idx_sel_( _ivesli_2642, v); _pinl_1684__flat_63 = _mul_SxS_( _ea_865_res, _flat_61); } : _pinl_1684__flat_63 ; } : fold( sacprelude::*, _isaa_2374_v); return( res); } /**************************************************************************** * sacprelude::partitionSlicer(...) [ body ] ****************************************************************************/ /* sticky */ inline int[.], int[.], int[.], int[.] sacprelude::partitionSlicer( int[.] min { ,NN } , int[.] max { ,NN } , int axis { ,NN } , int[.] lb { ,NN } , int[.] ub { ,NN } ) /* * partitionSlicer :: --- */ { int _ivesli_2650 { , NN } ; int _ivesli_2648 { , NN } ; int _ivesli_2646 { , NN } ; int _ivesli_2644 { , NN } ; int _pinl_1688__hce_0 { , NN } ; bool _pinl_1687_p { , NN } ; int _pinl_1685_dif { , NN } ; int[.] new_max { , NN } ; int[.] new_min { , NN } ; int[.] min_upper { , NN } ; int[.] max_lower { , NN } ; int _flat_33 { , NN } ; int lb_i { , NN } ; _ivesli_2650 = axis; lb_i = _idx_sel_( _ivesli_2650, lb); _ivesli_2648 = axis; _flat_33 = _idx_sel_( _ivesli_2648, ub); _pinl_1685_dif = _sub_SxS_( lb_i, _flat_33); _pinl_1687_p = _ge_SxS_( _pinl_1685_dif, 0); _pinl_1688__hce_0 = sacprelude::_dup_1690_partitionMax__Cond_0( _pinl_1687_p, _flat_33, lb_i) ; _ivesli_2646 = axis; max_lower = _idx_modarray_AxSxS_( max, _ivesli_2646, lb_i); _ivesli_2644 = axis; min_upper = _idx_modarray_AxSxS_( min, _ivesli_2644, _pinl_1688__hce_0); new_min = _idx_modarray_AxSxS_( min, _ivesli_2644, lb_i); new_max = _idx_modarray_AxSxS_( max, _ivesli_2646, _pinl_1688__hce_0); return( max_lower, min_upper, new_min, new_max); } /**************************************************************************** * Cond function: * sacprelude::_dup_1690_partitionMax__Cond_0(...) [ body ] ****************************************************************************/ int sacprelude::_dup_1690_partitionMax__Cond_0( bool p { ,NN } , int y { ,NN } , int x { ,NN } ) /* * _dup_1690_partitionMax__Cond_0 :: --- */ { int _hce_0__SSA0_2 { , NN } ; if (p) { } else { } _hce_0__SSA0_2 = ( p ? x : y ); return( _hce_0__SSA0_2); } /**************************************************************************** * sacprelude::gridFiller(...) [ body ] ****************************************************************************/ /* sticky */ inline int[.], int[.], int[.] sacprelude::gridFiller( int[.] lb { ,NN } , int[.] ub { ,NN } , int[.] wdth { ,NN } , int dim { ,NN } , int[.] maxwidth { ,NN } ) /* * gridFiller :: --- */ { int _ivesli_2658 { , NN } ; int _ivesli_2656 { , NN } ; int _ivesli_2654 { , NN } ; int _ivesli_2652 { , NN } ; int _pinl_1694__hce_1 { , NN } ; bool _pinl_1693_p { , NN } ; int _pinl_1691_dif { , NN } ; int _pinl_1700__hce_0 { , NN } ; bool _pinl_1699_p { , NN } ; int[.] nmaxwidth { , NN } ; int[.] nwidth { , NN } ; int[.] nlb { , NN } ; int _flat_21 { , NN } ; int _flat_22 { , NN } ; int _flat_14 { , NN } ; int _flat_15 { , NN } ; int _flat_17 { , NN } ; int _flat_19 { , NN } ; _ivesli_2658 = dim; _flat_19 = _idx_sel_( _ivesli_2658, ub); _ivesli_2656 = dim; _flat_17 = _idx_sel_( _ivesli_2656, wdth); _ivesli_2654 = dim; _flat_15 = _idx_sel_( _ivesli_2654, lb); _flat_14 = _add_SxS_( _flat_15, _flat_17); _pinl_1691_dif = _sub_SxS_( _flat_14, _flat_19); _pinl_1693_p = _le_SxS_( _pinl_1691_dif, 0); _pinl_1694__hce_1 = sacprelude::_dup_1696_partitionMin__Cond_1( _pinl_1693_p, _flat_19, _flat_14) ; _ivesli_2652 = dim; _flat_22 = _idx_sel_( _ivesli_2652, maxwidth); _flat_21 = _sub_SxS_( _flat_22, _flat_17); _pinl_1699_p = _ge_SxS_( _flat_21, 0); _pinl_1700__hce_0 = sacprelude::_dup_1702_partitionMax__Cond_0( _pinl_1699_p, _flat_21) ; nlb = _idx_modarray_AxSxS_( lb, _ivesli_2654, _pinl_1694__hce_1); nwidth = _idx_modarray_AxSxS_( maxwidth, _ivesli_2652, _pinl_1700__hce_0); nmaxwidth = _idx_modarray_AxSxS_( maxwidth, _ivesli_2652, _flat_17); return( nlb, nwidth, nmaxwidth); } /**************************************************************************** * Cond function: * sacprelude::_dup_1702_partitionMax__Cond_0(...) [ body ] ****************************************************************************/ int sacprelude::_dup_1702_partitionMax__Cond_0( bool p { ,NN } , int x { ,NN } ) /* * _dup_1702_partitionMax__Cond_0 :: --- */ { int _hce_0__SSA0_2 { , NN } ; int{0} _hce_0__SSA0_1 { , NN } ; if (p) { } else { _hce_0__SSA0_1 = 0; } _hce_0__SSA0_2 = ( p ? x : _hce_0__SSA0_1 ); return( _hce_0__SSA0_2); } /**************************************************************************** * Cond function: * sacprelude::_dup_1696_partitionMin__Cond_1(...) [ body ] ****************************************************************************/ int sacprelude::_dup_1696_partitionMin__Cond_1( bool p { ,NN } , int y { ,NN } , int x { ,NN } ) /* * _dup_1696_partitionMin__Cond_1 :: --- */ { int _hce_1__SSA0_2 { , NN } ; if (p) { } else { } _hce_1__SSA0_2 = ( p ? x : y ); return( _hce_1__SSA0_2); } /**************************************************************************** * sacprelude::partitionIntersectMax(...) [ body ] ****************************************************************************/ /* sticky */ inline int[.] sacprelude::partitionIntersectMax( int[.] PWLbound1 { ,NN } , int[.] ivmin { ,NN } ) /* * partitionIntersectMax :: --- */ { int[.] z { , NN } ; bool[.] p { , NN } ; int[.] dif { , NN } ; dif = _sub_VxV_( PWLbound1, ivmin); p = _ge_VxS_( dif, 0); z = _mask_VxVxV_( p, PWLbound1, ivmin); return( z); } /**************************************************************************** * sacprelude::partitionIntersectMax(...) [ body ] ****************************************************************************/ /* sticky */ inline int[.] sacprelude::partitionIntersectMax( int[.] PWLbound1 { ,NN } , int ivmin { ,NN } ) /* * partitionIntersectMax :: --- */ { int[.] z { , NN } ; bool[.] p { , NN } ; int[.] dif { , NN } ; dif = _sub_VxS_( PWLbound1, ivmin); p = _ge_VxS_( dif, 0); z = _mask_VxVxS_( p, PWLbound1, ivmin); return( z); } /**************************************************************************** * sacprelude::partitionIntersectMin(...) [ body ] ****************************************************************************/ /* sticky */ inline int[.] sacprelude::partitionIntersectMin( int[.] PWLbound2 { ,NN } , int[.] ivmax { ,NN } ) /* * partitionIntersectMin :: --- */ { int[.] z__SSA0_1 { , NN } ; int[.] z { , NN } ; bool[.] p { , NN } ; int[.] dif { , NN } ; dif = _sub_VxV_( PWLbound2, ivmax); p = _le_VxS_( dif, 0); z = _mask_VxVxV_( p, PWLbound2, ivmax); z__SSA0_1 = _add_VxS_( z, -1); return( z__SSA0_1); } /**************************************************************************** * sacprelude::partitionIntersectMin(...) [ body ] ****************************************************************************/ /* sticky */ inline int[.] sacprelude::partitionIntersectMin( int[.] PWLbound2 { ,NN } , int ivmax { ,NN } ) /* * partitionIntersectMin :: --- */ { int[.] z__SSA0_1 { , NN } ; int[.] z { , NN } ; bool[.] p { , NN } ; int[.] dif { , NN } ; dif = _sub_VxS_( PWLbound2, ivmax); p = _le_VxS_( dif, 0); z = _mask_VxVxS_( p, PWLbound2, ivmax); z__SSA0_1 = _add_VxS_( z, -1); return( z__SSA0_1); } /**************************************************************************** * sacprelude::isPartitionIntersectNull(...) [ body ] ****************************************************************************/ /* sticky */ inline bool[.] sacprelude::isPartitionIntersectNull( int[.] idxmin { ,NN } , int[.] idxmax { ,NN } , int[.] bound1 { ,NN } , int[.] bound2 { ,NN } ) /* * isPartitionIntersectNull :: --- */ { int[.] _ctz_1817 { , NN } ; int[.] _ctz_1815 { , NN } ; bool[.] z { , NN } ; bool[.] _flat_12 { , NN } ; bool[.] _flat_13 { , NN } ; _ctz_1817 = _sub_VxV_( idxmin, bound2); _flat_13 = _ge_VxS_( _ctz_1817, 0); _ctz_1815 = _sub_VxV_( idxmax, bound1); _flat_12 = _le_VxS_( _ctz_1815, 0); z = _or_VxV_( _flat_12, _flat_13); return( z); } /**************************************************************************** * sacprelude::isPartitionIntersectNull(...) [ body ] ****************************************************************************/ /* sticky */ inline bool[.] sacprelude::isPartitionIntersectNull( int idxmin { ,NN } , int idxmax { ,NN } , int[.] bound1 { ,NN } , int[.] bound2 { ,NN } ) /* * isPartitionIntersectNull :: --- */ { int[.] _ctz_1823 { , NN } ; int[.] _ctz_1821 { , NN } ; bool[.] z { , NN } ; bool[.] _flat_10 { , NN } ; bool[.] _flat_11 { , NN } ; _ctz_1823 = _sub_SxV_( idxmin, bound2); _flat_11 = _ge_VxS_( _ctz_1823, 0); _ctz_1821 = _sub_SxV_( idxmax, bound1); _flat_10 = _le_VxS_( _ctz_1821, 0); z = _or_VxV_( _flat_10, _flat_11); return( z); } /**************************************************************************** * sacprelude::partitionMin(...) [ body ] ****************************************************************************/ /* sticky */ inline int sacprelude::partitionMin( int x { ,NN } , int y { ,NN } ) /* * partitionMin :: --- */ { int _hce_1 { , NN } ; bool p { , NN } ; int dif { , NN } ; dif = _sub_SxS_( x, y); p = _le_SxS_( dif, 0); _hce_1 = sacprelude::partitionMin__Cond_1( p, y, x) ; return( _hce_1); } /**************************************************************************** * Cond function: * sacprelude::partitionMin__Cond_1(...) [ body ] ****************************************************************************/ int sacprelude::partitionMin__Cond_1( bool p { ,NN } , int y { ,NN } , int x { ,NN } ) /* * partitionMin__Cond_1 :: --- */ { int _hce_1__SSA0_2 { , NN } ; if (p) { } else { } _hce_1__SSA0_2 = ( p ? x : y ); return( _hce_1__SSA0_2); } /**************************************************************************** * sacprelude::partitionMax(...) [ body ] ****************************************************************************/ /* sticky */ inline int sacprelude::partitionMax( int x { ,NN } , int y { ,NN } ) /* * partitionMax :: --- */ { int _hce_0 { , NN } ; bool p { , NN } ; int dif { , NN } ; dif = _sub_SxS_( x, y); p = _ge_SxS_( dif, 0); _hce_0 = sacprelude::partitionMax__Cond_0( p, y, x) ; return( _hce_0); } /**************************************************************************** * Cond function: * sacprelude::partitionMax__Cond_0(...) [ body ] ****************************************************************************/ int sacprelude::partitionMax__Cond_0( bool p { ,NN } , int y { ,NN } , int x { ,NN } ) /* * partitionMax__Cond_0 :: --- */ { int _hce_0__SSA0_2 { , NN } ; if (p) { } else { } _hce_0__SSA0_2 = ( p ? x : y ); return( _hce_0__SSA0_2); } /**************************************************************************** * sacprelude::*(...) [ body ] ****************************************************************************/ inline int sacprelude::*( int a { ,NN } , int b { ,NN } ) /* * * :: --- */ { int _flat_63 { , NN } ; _flat_63 = _mul_SxS_( a, b); return( _flat_63); } /**************************************************************************** * sacprelude::and(...) [ body ] ****************************************************************************/ inline bool sacprelude::and( bool a { ,NN } , bool b { ,NN } ) /* * and :: --- */ { bool _flat_104 { , NN } ; _flat_104 = _and_SxS_( a, b); return( _flat_104); } -----------------------------------------------