It may not perform calculations directly but it is a control statement in minilang, therefore calculations (or other code) may occur that were not expected.
I only analysed ofbiz for usage not impact. I noticed the accounting component used <if-compare and <if-compare-field with type="BigDecimal" and with accounting you generally want accuracy in terms of numbers, BigDecimal offers this
but, to me compareBigDecimals does not. You lose information on comparison.
Java code in ofbiz generally uses compareTo for comparison without modifying scale.
Groovy code is the same as java (using compareTo), groovy also supports operator overloading which will use compareTo for relational operator overloading (eg, a == b)
The compareBigDecimals method used in minilang behaves slightly different to those comparisons done in java or groovy but only for values like those in compareBigDecimals.png
I will provide a patch for review as soon as I can