MAYBE
Time: 0.013753
TRS:
 {      nonZero 0() -> false(),
        nonZero s x -> true(),
            p s 0() -> 0(),
            p s s x -> s p s x,
           id_inc x -> x,
           id_inc x -> s x,
         rand(x, y) -> if(nonZero x, x, y),
           random x -> rand(x, 0()),
  if(false(), x, y) -> y,
   if(true(), x, y) -> rand(p x, id_inc y)}
 DP:
  DP:
   {         p# s s x -> p# s x,
          rand#(x, y) -> nonZero# x,
          rand#(x, y) -> if#(nonZero x, x, y),
            random# x -> rand#(x, 0()),
    if#(true(), x, y) -> p# x,
    if#(true(), x, y) -> id_inc# y,
    if#(true(), x, y) -> rand#(p x, id_inc y)}
  TRS:
  {      nonZero 0() -> false(),
         nonZero s x -> true(),
             p s 0() -> 0(),
             p s s x -> s p s x,
            id_inc x -> x,
            id_inc x -> s x,
          rand(x, y) -> if(nonZero x, x, y),
            random x -> rand(x, 0()),
   if(false(), x, y) -> y,
    if(true(), x, y) -> rand(p x, id_inc y)}
  EDG:
   {(if#(true(), x, y) -> rand#(p x, id_inc y), rand#(x, y) -> if#(nonZero x, x, y))
    (if#(true(), x, y) -> rand#(p x, id_inc y), rand#(x, y) -> nonZero# x)
    (if#(true(), x, y) -> p# x, p# s s x -> p# s x)
    (p# s s x -> p# s x, p# s s x -> p# s x)
    (rand#(x, y) -> if#(nonZero x, x, y), if#(true(), x, y) -> p# x)
    (rand#(x, y) -> if#(nonZero x, x, y), if#(true(), x, y) -> id_inc# y)
    (rand#(x, y) -> if#(nonZero x, x, y), if#(true(), x, y) -> rand#(p x, id_inc y))
    (random# x -> rand#(x, 0()), rand#(x, y) -> nonZero# x)
    (random# x -> rand#(x, 0()), rand#(x, y) -> if#(nonZero x, x, y))}
   STATUS:
    arrows: 0.816327
    SCCS (2):
     Scc:
      {      rand#(x, y) -> if#(nonZero x, x, y),
       if#(true(), x, y) -> rand#(p x, id_inc y)}
     Scc:
      {p# s s x -> p# s x}
     
     
     SCC (2):
      Strict:
       {      rand#(x, y) -> if#(nonZero x, x, y),
        if#(true(), x, y) -> rand#(p x, id_inc y)}
      Weak:
      {      nonZero 0() -> false(),
             nonZero s x -> true(),
                 p s 0() -> 0(),
                 p s s x -> s p s x,
                id_inc x -> x,
                id_inc x -> s x,
              rand(x, y) -> if(nonZero x, x, y),
                random x -> rand(x, 0()),
       if(false(), x, y) -> y,
        if(true(), x, y) -> rand(p x, id_inc y)}
      Open
     
     
     SCC (1):
      Strict:
       {p# s s x -> p# s x}
      Weak:
      {      nonZero 0() -> false(),
             nonZero s x -> true(),
                 p s 0() -> 0(),
                 p s s x -> s p s x,
                id_inc x -> x,
                id_inc x -> s x,
              rand(x, y) -> if(nonZero x, x, y),
                random x -> rand(x, 0()),
       if(false(), x, y) -> y,
        if(true(), x, y) -> rand(p x, id_inc y)}
      Open