YES
O(n^3)
TRS:
 {
   if(true(), X, Y) -> X,
  if(false(), X, Y) -> activate(Y),
               f(X) -> if(X, c(), n__f(true())),
               f(X) -> n__f(X),
        activate(X) -> X,
  activate(n__f(X)) -> f(X)
 }
 DUP: We consider a non-duplicating system.
  Trs:
   {
     if(true(), X, Y) -> X,
    if(false(), X, Y) -> activate(Y),
                 f(X) -> if(X, c(), n__f(true())),
                 f(X) -> n__f(X),
          activate(X) -> X,
    activate(n__f(X)) -> f(X)
   }
  Matrix Interpretation:
   Interpretation class: triangular
             [3]
   [false] = [0]
             [2]
   
              [X2]    [1 2 1][X2]   [3]
   [activate]([X1]) = [0 1 0][X1] + [0]
              [X0]    [0 0 1][X0]   [1]
   
       [X2]    [1 2 0][X2]   [3]
   [f]([X1]) = [0 1 0][X1] + [0]
       [X0]    [0 0 1][X0]   [2]
   
            [0]
   [true] = [0]
            [0]
   
          [X2]    [1 2 0][X2]   [0]
   [n__f]([X1]) = [0 1 0][X1] + [0]
          [X0]    [0 0 1][X0]   [1]
   
         [0]
   [c] = [0]
         [0]
   
        [X8]  [X5]  [X2]    [1 0 0][X8]   [1 0 2][X5]   [1 2 1][X2]   [1]
   [if]([X7], [X4], [X1]) = [0 0 0][X7] + [0 1 2][X4] + [0 1 0][X1] + [0]
        [X6]  [X3]  [X0]    [0 0 1][X6]   [0 0 1][X3]   [0 0 1][X0]   [0]
   
   
   Qed