MAYBE
Time: 0.350911
TRS:
 {            f 0() -> true(),
              f 1() -> false(),
              f s x -> f x,
   if(true(), x, y) -> x,
  if(false(), x, y) -> y,
          g(x, c y) -> g(x, g(s c y, y)),
        g(s x, s y) -> if(f x, s x, s y)}
 DP:
  DP:
   {      f# s x -> f# x,
      g#(x, c y) -> g#(x, g(s c y, y)),
      g#(x, c y) -> g#(s c y, y),
    g#(s x, s y) -> f# x,
    g#(s x, s y) -> if#(f x, s x, s y)}
  TRS:
  {            f 0() -> true(),
               f 1() -> false(),
               f s x -> f x,
    if(true(), x, y) -> x,
   if(false(), x, y) -> y,
           g(x, c y) -> g(x, g(s c y, y)),
         g(s x, s y) -> if(f x, s x, s y)}
  UR:
   {            f 0() -> true(),
                f 1() -> false(),
                f s x -> f x,
     if(true(), x, y) -> x,
    if(false(), x, y) -> y,
            g(x, c y) -> g(x, g(s c y, y)),
          g(s x, s y) -> if(f x, s x, s y),
              a(z, w) -> z,
              a(z, w) -> w}
   EDG:
    {(g#(x, c y) -> g#(s c y, y), g#(s x, s y) -> if#(f x, s x, s y))
     (g#(x, c y) -> g#(s c y, y), g#(s x, s y) -> f# x)
     (g#(x, c y) -> g#(s c y, y), g#(x, c y) -> g#(s c y, y))
     (g#(x, c y) -> g#(s c y, y), g#(x, c y) -> g#(x, g(s c y, y)))
     (f# s x -> f# x, f# s x -> f# x)
     (g#(s x, s y) -> f# x, f# s x -> f# x)
     (g#(x, c y) -> g#(x, g(s c y, y)), g#(x, c y) -> g#(x, g(s c y, y)))
     (g#(x, c y) -> g#(x, g(s c y, y)), g#(x, c y) -> g#(s c y, y))
     (g#(x, c y) -> g#(x, g(s c y, y)), g#(s x, s y) -> f# x)
     (g#(x, c y) -> g#(x, g(s c y, y)), g#(s x, s y) -> if#(f x, s x, s y))}
    STATUS:
     arrows: 0.600000
     SCCS (2):
      Scc:
       {g#(x, c y) -> g#(x, g(s c y, y)),
        g#(x, c y) -> g#(s c y, y)}
      Scc:
       {f# s x -> f# x}
      
      SCC (2):
       Strict:
        {g#(x, c y) -> g#(x, g(s c y, y)),
         g#(x, c y) -> g#(s c y, y)}
       Weak:
       {            f 0() -> true(),
                    f 1() -> false(),
                    f s x -> f x,
         if(true(), x, y) -> x,
        if(false(), x, y) -> y,
                g(x, c y) -> g(x, g(s c y, y)),
              g(s x, s y) -> if(f x, s x, s y)}
       Open
      
      
      SCC (1):
       Strict:
        {f# s x -> f# x}
       Weak:
       {            f 0() -> true(),
                    f 1() -> false(),
                    f s x -> f x,
         if(true(), x, y) -> x,
        if(false(), x, y) -> y,
                g(x, c y) -> g(x, g(s c y, y)),
              g(s x, s y) -> if(f x, s x, s y)}
       Open