f x y = (x + y) * (x + y)

f x y = let t = x + y in t * t
のように書かなくても x + y の部分は1回の計算で済みますか?
また、下のような場合はどうでしょうか
f x = elem x [1..10000] && elem x [1..10000]
また、局所変数の含む場合はどうでしょうか
f x = let xs = [1..10000] in elem x xs
g x = f x && elem x [1..10000]