Given f(a)+f(b) transform it using pattern f(x::anything)->x^2 to obtain
a^2+b^2
In Maple
expr:=f(a)+f(b); map( proc(X) local la,x; if patmatch(X,f(x::anything),'la') then eval(x,la)^2; else NULL; fi; end proc, expr); a^2 + b^2
In Mathematica
f[a] + f[b] /. f[x_] -> x^2 a^2+b^2