Basic question about macros

Hello,

I am learning the syntax of FreeFem++ by looking at examples. I am running the following code:
macro AA [ [1,2],[3,4]] //
macro BB [ [1,2],[5,10]] //
cout << trace( AA * BB’ + AA - BB’ ) <<endl;

The output that I get is 76. However, when I do it by hand the output is 54. I have printed a few statements to see what is going on. The values for AA*BB’+AA match my calculations by hand. The values of BB’ match too. However, it seems like two are being added together instead of subtracted.

Does anyone have any insights on this?

Thank you in advance!