I tried to replicate in a small example but failed. It appears on entry to any routine with a local fixed size array of double precision type.
Here is assembler leading up to error from my 64 bit debug compile with XE 16.0:
000007FEECC174F8 jl 000007FEECC17488
000007FEECC174FA jmp 000007FEECC17468
000007FEECC174FF mov rax,qword ptr [rsp+50h]
000007FEECC17504 inc r9d
000007FEECC17507 mov qword ptr [rdi+r8*8],rax
error occures on last line and shows rdi = 0, r8 = 0, rax = a large number
Compiler flags:
/nologo /debug:full /MP /Od /QxHost /I"Removed for confidentiality" /DIntelQuad /Dx64 /DenhancedChecking /DoutputModel /Qopenmp /standard-semantics /debug-parameters:all /warn:declarations /warn:unused /Qinit:snan /Qinit:arrays /module:"x64\Debug\\" /object:"x64\Debug\\" /Fd"x64\Debug\vc140.pdb" /traceback /check:pointer /check:bounds /check:uninit /check:format /check:output_conversion /libs:dll /threads /dbglibs /Qmkl:parallel /c