MAYBE
Time: 0.002844
TRS:
 {           le(0(), y) -> true(),
           le(s x, 0()) -> false(),
           le(s x, s y) -> le(x, y),
               pred s x -> x,
          minus(x, 0()) -> x,
          minus(x, s y) -> pred minus(x, y),
            gcd(0(), y) -> y,
          gcd(s x, 0()) -> s x,
          gcd(s x, s y) -> if_gcd(le(y, x), s x, s y),
   if_gcd(true(), x, y) -> gcd(minus(x, y), y),
  if_gcd(false(), x, y) -> gcd(minus(y, x), x)}
 DP:
  DP:
   {         le#(s x, s y) -> le#(x, y),
            minus#(x, s y) -> pred# minus(x, y),
            minus#(x, s y) -> minus#(x, y),
            gcd#(s x, s y) -> le#(y, x),
            gcd#(s x, s y) -> if_gcd#(le(y, x), s x, s y),
     if_gcd#(true(), x, y) -> minus#(x, y),
     if_gcd#(true(), x, y) -> gcd#(minus(x, y), y),
    if_gcd#(false(), x, y) -> minus#(y, x),
    if_gcd#(false(), x, y) -> gcd#(minus(y, x), x)}
  TRS:
  {           le(0(), y) -> true(),
            le(s x, 0()) -> false(),
            le(s x, s y) -> le(x, y),
                pred s x -> x,
           minus(x, 0()) -> x,
           minus(x, s y) -> pred minus(x, y),
             gcd(0(), y) -> y,
           gcd(s x, 0()) -> s x,
           gcd(s x, s y) -> if_gcd(le(y, x), s x, s y),
    if_gcd(true(), x, y) -> gcd(minus(x, y), y),
   if_gcd(false(), x, y) -> gcd(minus(y, x), x)}
  UR:
   {   le(0(), y) -> true(),
     le(s x, 0()) -> false(),
     le(s x, s y) -> le(x, y),
         pred s x -> x,
    minus(x, 0()) -> x,
    minus(x, s y) -> pred minus(x, y),
          a(z, w) -> z,
          a(z, w) -> w}
   EDG:
    {(gcd#(s x, s y) -> le#(y, x), le#(s x, s y) -> le#(x, y))
     (if_gcd#(false(), x, y) -> minus#(y, x), minus#(x, s y) -> minus#(x, y))
     (if_gcd#(false(), x, y) -> minus#(y, x), minus#(x, s y) -> pred# minus(x, y))
     (minus#(x, s y) -> minus#(x, y), minus#(x, s y) -> minus#(x, y))
     (minus#(x, s y) -> minus#(x, y), minus#(x, s y) -> pred# minus(x, y))
     (gcd#(s x, s y) -> if_gcd#(le(y, x), s x, s y), if_gcd#(true(), x, y) -> minus#(x, y))
     (gcd#(s x, s y) -> if_gcd#(le(y, x), s x, s y), if_gcd#(true(), x, y) -> gcd#(minus(x, y), y))
     (gcd#(s x, s y) -> if_gcd#(le(y, x), s x, s y), if_gcd#(false(), x, y) -> minus#(y, x))
     (gcd#(s x, s y) -> if_gcd#(le(y, x), s x, s y), if_gcd#(false(), x, y) -> gcd#(minus(y, x), x))
     (if_gcd#(true(), x, y) -> minus#(x, y), minus#(x, s y) -> pred# minus(x, y))
     (if_gcd#(true(), x, y) -> minus#(x, y), minus#(x, s y) -> minus#(x, y))
     (le#(s x, s y) -> le#(x, y), le#(s x, s y) -> le#(x, y))
     (if_gcd#(true(), x, y) -> gcd#(minus(x, y), y), gcd#(s x, s y) -> le#(y, x))
     (if_gcd#(true(), x, y) -> gcd#(minus(x, y), y), gcd#(s x, s y) -> if_gcd#(le(y, x), s x, s y))
     (if_gcd#(false(), x, y) -> gcd#(minus(y, x), x), gcd#(s x, s y) -> le#(y, x))
     (if_gcd#(false(), x, y) -> gcd#(minus(y, x), x), gcd#(s x, s y) -> if_gcd#(le(y, x), s x, s y))}
    STATUS:
     arrows: 0.802469
     SCCS (3):
      Scc:
       {        gcd#(s x, s y) -> if_gcd#(le(y, x), s x, s y),
         if_gcd#(true(), x, y) -> gcd#(minus(x, y), y),
        if_gcd#(false(), x, y) -> gcd#(minus(y, x), x)}
      Scc:
       {minus#(x, s y) -> minus#(x, y)}
      Scc:
       {le#(s x, s y) -> le#(x, y)}
      
      SCC (3):
       Strict:
        {        gcd#(s x, s y) -> if_gcd#(le(y, x), s x, s y),
          if_gcd#(true(), x, y) -> gcd#(minus(x, y), y),
         if_gcd#(false(), x, y) -> gcd#(minus(y, x), x)}
       Weak:
       {           le(0(), y) -> true(),
                 le(s x, 0()) -> false(),
                 le(s x, s y) -> le(x, y),
                     pred s x -> x,
                minus(x, 0()) -> x,
                minus(x, s y) -> pred minus(x, y),
                  gcd(0(), y) -> y,
                gcd(s x, 0()) -> s x,
                gcd(s x, s y) -> if_gcd(le(y, x), s x, s y),
         if_gcd(true(), x, y) -> gcd(minus(x, y), y),
        if_gcd(false(), x, y) -> gcd(minus(y, x), x)}
       Open
      
      
      SCC (1):
       Strict:
        {minus#(x, s y) -> minus#(x, y)}
       Weak:
       {           le(0(), y) -> true(),
                 le(s x, 0()) -> false(),
                 le(s x, s y) -> le(x, y),
                     pred s x -> x,
                minus(x, 0()) -> x,
                minus(x, s y) -> pred minus(x, y),
                  gcd(0(), y) -> y,
                gcd(s x, 0()) -> s x,
                gcd(s x, s y) -> if_gcd(le(y, x), s x, s y),
         if_gcd(true(), x, y) -> gcd(minus(x, y), y),
        if_gcd(false(), x, y) -> gcd(minus(y, x), x)}
       Open
      
      
      SCC (1):
       Strict:
        {le#(s x, s y) -> le#(x, y)}
       Weak:
       {           le(0(), y) -> true(),
                 le(s x, 0()) -> false(),
                 le(s x, s y) -> le(x, y),
                     pred s x -> x,
                minus(x, 0()) -> x,
                minus(x, s y) -> pred minus(x, y),
                  gcd(0(), y) -> y,
                gcd(s x, 0()) -> s x,
                gcd(s x, s y) -> if_gcd(le(y, x), s x, s y),
         if_gcd(true(), x, y) -> gcd(minus(x, y), y),
        if_gcd(false(), x, y) -> gcd(minus(y, x), x)}
       Open