MAYBE
Trs:
 {             plus(0(), y) -> y,
              plus(s(x), y) -> s(plus(x, y)),
          log(0(), s(s(b))) -> logZeroError(),
         log(s(x), s(s(b))) -> loop(s(x), s(s(b)), s(0()), 0()),
                log(x, 0()) -> baseError(),
             log(x, s(0())) -> baseError(),
                 le(0(), y) -> true(),
              le(s(x), 0()) -> false(),
             le(s(x), s(y)) -> le(x, y),
     if(true(), x, b, y, z) -> z,
    if(false(), x, b, y, z) -> loop(x, b, times(b, y), s(z)),
              times(0(), y) -> 0(),
             times(s(x), y) -> plus(y, times(x, y)),
  loop(x, s(s(b)), s(y), z) -> if(le(x, s(y)), x, s(s(b)), s(y), z)}
 Comment:
  We consider a duplicating trs.
  FAIL:
   Open