A sum of two products
Two products added together. You see this shape everywhere, a 2D dot product, a determinant, a complex multiply. On the face of it that is two multiplies and an add, but only one fmuls actually shows up, because the second product gets folded into the add by fmadds.
Take cross(p, q, r, s), which works out p*r + q*s:
fmuls f0, f2, f4 # f0 = q * s (one product, standalone)
fmadds f1, f1, f3, f0 # f1 = p*r + f0 = p*r + q*s
blr
Here the compiler did q*s first, as the standalone fmuls, then swept p*r and the running sum into a single fmadds. (Same form as ever, fmadds fD, fA, fC, fB = fA*fC + fB.) Which product lands in the lone fmuls versus which rides along in the fmadds is up to the compiler and not worth fighting. What you care about is the operand registers, since they tell you which two arguments multiply together. The four floats come in across f1–f4.
Your target wears the same fmuls → fmadds skeleton. Read the operand registers, pull out the two products, and check that they are added.
Your task
Write dot2, taking four f32s, to reproduce the assembly above.