about the decimal type the spec says:
For the xs:decimal type, the maximum number of decimal digits (totalDigits facet) MUST be at least 18. This limit SHOULD be at least 20 digits in order to accommodate the full range of values of built-in subtypes of xs:integer, such as xs:long and xs:unsignedLong.
Thus it is correct to perform all calculations with 18 digit total precision
But an expected outcome of op-numeric-dividedec2args-4 is -1.619760582531006901, which has 18 digit fraction precision, but 19 digit total precision.