generators.tdTransducer:
  (
    { TBL_1_2:4, TBL_1_1:4, TBL_axiom_table_:4, Start0:0, S0:0, TBL_2_1:4, init:1, bot:0 },
    { -:0, syncinfo:3, up-left:2, mirY:1, S:0, R:0, subst:3, tile2:0, tile1:0, NEW_AXIOM:0, hex:6, L:0, empty:0, up:4, proj-2:0, proj-1:0, up-right:2, error_no_init:0, b:1, a:1, combine:2, WAIT:0 },
    { L, q0, WAIT, S, R, NEW_AXIOM },
    {
      q0[init[x1]] -> subst[NEW_AXIOM[x1] , -, -]
    ,
      S[TBL_1_1[x1,x2,x3,x4]] -> up[combine[tile1,tile1],subst[L[x1], a[proj-1], a[proj-2]],subst[WAIT[x2], a[proj-1], b[proj-2]],subst[R[x1], a[proj-1], a[proj-2]]] weight 1.0,
      L[TBL_1_1[x1,x2,x3,x4]] -> up-left[combine[tile1,tile1],subst[R[x1], a[proj-1], a[proj-2]]] weight 1.0,
      R[TBL_1_1[x1,x2,x3,x4]] -> up-right[combine[tile1,tile1],subst[L[x1], a[proj-1], a[proj-2]]] weight 1.0,
      WAIT[TBL_1_1[x1,x2,x3,x4]] -> subst[S[x1], a[proj-1], a[proj-2]] weight 1.0
      ,
      S[TBL_1_2[x1,x2,x3,x4]] -> up[combine[tile2,tile2],subst[L[x1], a[proj-1], a[proj-2]],subst[WAIT[x2], a[proj-1], b[proj-2]],subst[R[x1], a[proj-1], a[proj-2]]] weight 1.0,
      L[TBL_1_2[x1,x2,x3,x4]] -> up-left[combine[tile2,tile2],subst[R[x1], a[proj-1], a[proj-2]]] weight 1.0,
      R[TBL_1_2[x1,x2,x3,x4]] -> up-right[combine[tile2,tile2],subst[L[x1], a[proj-1], a[proj-2]]] weight 1.0,
      WAIT[TBL_1_2[x1,x2,x3,x4]] -> subst[S[x1], a[proj-1], a[proj-2]] weight 1.0
      ,
      S[TBL_2_1[x1,x2,x3,x4]] -> combine[empty,tile1] weight 1.0,
      L[TBL_2_1[x1,x2,x3,x4]] -> combine[empty,mirY[tile1]] weight 1.0,
      R[TBL_2_1[x1,x2,x3,x4]] -> combine[empty,mirY[tile1]] weight 1.0,
      WAIT[TBL_2_1[x1,x2,x3,x4]] -> empty weight 1.0
      ,
      NEW_AXIOM[TBL_axiom_table_[x1,x2,x3,x4]] -> hex[subst[S[x1], a[proj-1], a[proj-2]],subst[S[x1], a[proj-1], a[proj-2]],subst[S[x1], a[proj-1], a[proj-2]],subst[S[x1], a[proj-1], a[proj-2]],subst[S[x1], a[proj-1], a[proj-2]],subst[S[x1], a[proj-1], a[proj-2]]] weight 1.0
      ,
      L[S0] -> syncinfo[L, proj-1,proj-2],
    L[Start0] -> syncinfo[L, proj-1,proj-2],
    
      WAIT[S0] -> syncinfo[WAIT, proj-1,proj-2],
    WAIT[Start0] -> syncinfo[WAIT, proj-1,proj-2],
    
      S[S0] -> syncinfo[S, proj-1,proj-2],
    S[Start0] -> syncinfo[S, proj-1,proj-2],
    
      R[S0] -> syncinfo[R, proj-1,proj-2],
    R[Start0] -> syncinfo[R, proj-1,proj-2],
    
      NEW_AXIOM[S0] -> syncinfo[NEW_AXIOM, proj-1,proj-2],
    NEW_AXIOM[Start0] -> syncinfo[NEW_AXIOM, proj-1,proj-2],
    
   q0[S0] -> error_no_init 
},
    q0
  )