I got this idea for splitting numbers (but actually only for matrices), like Float64, into two parts, hi and lo (basically the double-double trick), for up to 2x speedup if lo can be Float32, since hi can be in a separate matrix, and it not sparse not dense.
Anyone heard of it done? Maybe failed attempt, or a reason it would not work? I asked the AI if this might have been done before, and it gave me this paper, that seems different but maybe similar, and still of possibly of interest to people here (anyone know where to get code for such, even with Julia?):
Effectiveness of sparse data structure for double-double and quad-double arithmetics
We defined new data types for a sparse matrix which have double-double and quad-double numbers, and made it possible to use a combination of double, double-double, and quad-double arithmetic for both dense and sparse data structures.
See table 3 : Results of matrix operations (Time)
Matrix multiplication The sparsity may be increased in matrix multiplication. .. The computation time for qdsp is 208.8 times smaller than that of qd. In case of AB, AB keeps low sparsity, and the computation time of ddsp is 430.9 times and qdsp is 1214.7 times smaller than that of dd and qd respectively.