Parentheses are a little tricky in SPICE, and by extension, LTspice.
In many cases, parentheses are effectively ignored in SPICE netlist syntax. Yet they are required in some cases. For kicks, I tried a few simulations using the OP's user-defined function, and various combinations of matched and mismatched parentheses, curly braces, etc. Some worked, others failed with the unknown "model" error. I did not see a clear-cut pattern so I concluded that trying to explain it might be an exercise in futility. It appeared that matching parentheses was not a strict requirement in every single case, but sometimes it did make a difference.
Andy