

#include "BUILTIN.h"

#include "Nat.h"
extern OBJ _AMapReduce_5(OBJ,OBJ,OBJ,OBJ);extern OBJ __AMapReduce_5;
extern OBJ _AMapReduce_6(OBJ,OBJ,OBJ,OBJ);extern OBJ __AMapReduce_6;

#include "Array.h"
extern OBJ _AArrayReduce_3(OBJ,OBJ,OBJ);extern OBJ __AArrayReduce_3;
extern OBJ _ACAST_3(OBJ);extern OBJ __ACAST_3;
extern OBJ _ANatMapReduce_3(OBJ,OBJ,OBJ);OBJ __ANatMapReduce_3; /* / */
extern OBJ _ANatMapReduce_4(OBJ,OBJ,OBJ);OBJ __ANatMapReduce_4; /* /,1 */
extern OBJ _ANatMapReduce_5(OBJ,OBJ,OBJ);OBJ __ANatMapReduce_5; /* /'5 */
extern OBJ _ANatMapReduce_6(OBJ,OBJ,OBJ);OBJ __ANatMapReduce_6; /* /,1'6 */

extern OBJ _ANatMapReduce_3(OBJ x1,OBJ x2,OBJ x3) /* / */
{OBJ r;
 CPCLS(__ANatMapReduce_5,1);
 {OBJ x4;OBJ x5;
  x4=_ACAST_3(x3);
  x5=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANatMapReduce_5,1))(__ANatMapReduce_5,x1);
  r=_AArrayReduce_3(x5,x2,x4);}
 return r;}

extern OBJ _ANatMapReduce_4(OBJ x1,OBJ x2,OBJ x3) /* /,1 */
{OBJ r;
 CPCLS(__ANatMapReduce_6,1);
 {OBJ x4;OBJ x5;
  x4=_ACAST_3(x3);
  x5=(*(OBJ(*)(OBJ,OBJ))METHOD(__ANatMapReduce_6,1))(__ANatMapReduce_6,x1);
  r=_AArrayReduce_3(x5,x2,x4);}
 return r;}

extern OBJ _ANatMapReduce_5(OBJ x1,OBJ x2,OBJ x3) /* /'5 */
{OBJ r;
 CPCLS(__ANat_80,1);
 r=_AMapReduce_5(__ANat_80,x1,x3,x2);
 return r;}

extern OBJ _ANatMapReduce_6(OBJ x1,OBJ x2,OBJ x3) /* /,1'6 */
{OBJ r;
 CPCLS(__ANat_80,1);
 r=_AMapReduce_6(__ANat_80,x1,x3,x2);
 return r;}

init_ANatMapReduce()
{
 static int visited=0; if(visited) return; visited=1;
 init_ANatMap();
 init_ANat();
 init_AOption();
 init_ASet();
 init_ASeq();
 init_APair();
 init_ANatMapNotForUserPurpose();
 init_AMapReduce();
 init_AMap();
 init_AArray();
 init_AArrayReduce();
 init_ASetByBST();
 init_ABSTree();
 init_ATree();
 init_ACAST();
 CLS(3,_ANatMapReduce_6,__ANatMapReduce_6);
 CLS(3,_ANatMapReduce_5,__ANatMapReduce_5);
 CLS(3,_ANatMapReduce_4,__ANatMapReduce_4);
 CLS(3,_ANatMapReduce_3,__ANatMapReduce_3);}

