

#include "BUILTIN.h"

#include "Nat.h"

#include "Char.h"

#include "Bitset.h"

#include "Array.h"
extern OBJ _ADArrayReduce_6(OBJ,OBJ,OBJ);extern OBJ __ADArrayReduce_6;
extern OBJ _AUniqueTableReduce_4(OBJ,OBJ,OBJ,OBJ);OBJ __AUniqueTableReduce_4; /* / */
extern OBJ _AUniqueTableReduce_5(OBJ,OBJ,OBJ,OBJ);OBJ __AUniqueTableReduce_5; /* /'5 */

extern OBJ _AUniqueTableReduce_4(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* / */
{OBJ r;
 CPCLS(__AUniqueTableReduce_5,1);
 FRCLS(x1,1);
 {OBJ x5;
  x5=(*(OBJ(*)(OBJ,OBJ))METHOD(__AUniqueTableReduce_5,1))(__AUniqueTableReduce_5,x2);
  r=_ADArrayReduce_6(x5,x3,x4);}
 return r;}

extern OBJ _AUniqueTableReduce_5(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* /'5 */
{OBJ r;
 {OBJ x6=FLD1(x3,2);
  if(EXPRD(x3,1)){
   DSPRDF(x3);
  }else{
   COPY(x6,1);
   FRPRD(x3,1);}
  {OBJ x7;
   x7=x6;
   r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(x1,3))(x1,x2,x7,x4);}}
 return r;}

init_AUniqueTableReduce()
{
 static int visited=0; if(visited) return; visited=1;
 init_AUniqueTable();
 init_ANat();
 init_AString();
 init_ATable();
 init_ADArray();
 init_ANatMap();
 init_AOption();
 init_APair();
 init_ASeq();
 init_AChar();
 init_ASet();
 init_ABitset();
 init_AArray();
 init_ATableFun2();
 init_ACom();
 init_AVoid();
 init_ADArrayReduce();
 CLS(4,_AUniqueTableReduce_5,__AUniqueTableReduce_5);
 CLS(4,_AUniqueTableReduce_4,__AUniqueTableReduce_4);}

