YES
TRS:
 {f(x, f(a(), y)) -> f(f(y, f(f(a(), a()), a())), x)}
 DP:
  Strict:
   {f#(x, f(a(), y)) -> f#(y, f(f(a(), a()), a())),
    f#(x, f(a(), y)) -> f#(f(y, f(f(a(), a()), a())), x),
    f#(x, f(a(), y)) -> f#(f(a(), a()), a()),
    f#(x, f(a(), y)) -> f#(a(), a())}
  Weak:
  {f(x, f(a(), y)) -> f(f(y, f(f(a(), a()), a())), x)}
  EDG:
   {(f#(x, f(a(), y)) -> f#(f(y, f(f(a(), a()), a())), x), f#(x, f(a(), y)) -> f#(y, f(f(a(), a()), a())))
    (f#(x, f(a(), y)) -> f#(f(y, f(f(a(), a()), a())), x), f#(x, f(a(), y)) -> f#(f(y, f(f(a(), a()), a())), x))
    (f#(x, f(a(), y)) -> f#(f(y, f(f(a(), a()), a())), x), f#(x, f(a(), y)) -> f#(f(a(), a()), a()))
    (f#(x, f(a(), y)) -> f#(f(y, f(f(a(), a()), a())), x), f#(x, f(a(), y)) -> f#(a(), a()))}
   SCCS:
    Scc:
     {f#(x, f(a(), y)) -> f#(f(y, f(f(a(), a()), a())), x)}
    SCC:
     Strict:
      {f#(x, f(a(), y)) -> f#(f(y, f(f(a(), a()), a())), x)}
     Weak:
     {f(x, f(a(), y)) -> f(f(y, f(f(a(), a()), a())), x)}
     BOUND:
      Bound: match(-raise)-bounded by 0
      Automaton:
       {     b_0() -> 2*
             a_0() -> 3*
        f#_0(6, 6) -> 7*
        f#_0(6, 2) -> 7*
         f_0(6, 6) -> 1*
         f_0(6, 2) -> 1*
         f_0(5, 5) -> 6*
         f_0(4, 3) -> 5*
         f_0(3, 3) -> 4*
         f_0(2, 5) -> 6*}
      Strict:
       {}
      Qed