anchor.diff:                                                          (the mem-word (+ byte-offset
                                                                            +msizeof-word+)))))
              (hi (maybe-invert-endianity/integer :half-dfloat-word xhi)))
  +
         (make-dfloat hi lo))
       
       #?-(or (eql :hlmem/dfloat/words 1) (eql :hlmem/dfloat/words 2))
  
positive.code:     (%mset-t value :dfloat ptr byte-offset)
  
      (let ((n1 (%mget-t :half-dfloat-word ptr byte-offset))
            (n2 (%mget-t :half-dfloat-word ptr (the mem-word (+ byte-offset +msizeof-half-dfloat+)))))
  
        ;; always return HI LO
        #?+little-endian (values n2 n1)
        #?-little-endian (values n1 n2))))
  
negative.code:       ;; i.e. when mem-word is 4 bytes, we do *not* write 8-byte double-floats,
        ;; instead we split double-floats in LO and HI words, and write them separately
        ;; using configured endianity
        (%mset-t (maybe-invert-endianity/integer :word lo) ; not :half-dfloat-word,
                                          ; in case word > half-double-float
                 :word ptr byte-offset)
        (%mset-t (maybe-invert-endianity/integer :word hi) ; idem
                 :word ptr (the mem-word (+ byte-offset +msizeof-word+)))
        value)
      
  