I wonder why is Dyalog APL acting so strange?
692.4 - 88 - 6.45 - 39.08 - 20 - 53
538.77 ⍝ Fail
-/ 692.4 88 6.45 39.08 20 53
538.77 ⍝ Fail again
692.4 - 88
604.4
604.4 - 6.45
597.95
597.95-39.08
558.87
558.87-20
538.87
538.87-53
485.87 ⍝ It's true!
But why? What's the problem with the Dyalog APL?
There is nothing wrong with Dyalog; it is your expectations that are in error.
From the earliest days of the language, APL has evaluated expressions strictly right-to-left, not left-to-right, and not using the BEDMAS. Your expression
692.4 - 88 - 6.45 - 39.08 - 20 - 53should be evaluated as though it were written conventionally as692.4 - (88 - (6.45 - (39.08 - (20 - 53)))), which will give you the538.77that you consider erroneous.