val lut1D : (l: int) -S-> float[l] -S-> float -> float
    
val lut2D : (l1: int) -S-> (l2: int) -S-> float[l1][l2]
                                     -S-> float * float -> float