diff --git a/main.cpp b/main.cpp
index bcea49a63e999b6946bf7ee29a31375e8ba88254..cbe88fd07376f35c91814122f3b742a6099e7ac3 100644
--- a/main.cpp
+++ b/main.cpp
@@ -104,7 +104,7 @@ int main() {
     python_print("recovered_sample_values", recovered_sample_values);
 
     // Part (d)
-    constexpr uint32_t n_subsamples = 200;
+    constexpr uint32_t n_subsamples = 100;
     std::vector<uint32_t> const subset_indices = select_subsample(n_samples, n_subsamples);
     Vector subset_sample_times = vector_subset(sample_times, subset_indices);
     Vector subset_sample_values = vector_subset(sample_values, subset_indices);
@@ -134,6 +134,7 @@ int main() {
     Scalar const final_loss_e = loss;
     uint32_t const final_count_e = count;
     python_print("dct_e", recovered_dct);
+    python_print("recovered_sample_values_e", recovered_sample_values);
 
     // Part (f)
     recovered_dct = Vector::Random(n_samples);
@@ -168,6 +169,7 @@ int main() {
     Scalar const final_loss_f = loss;
     uint32_t const final_count_f = count;
     python_print("dct_f", recovered_dct);
+    python_print("recovered_sample_values_f", recovered_sample_values);
 
     // Part (g)
     recovered_dct = Vector::Random(n_samples);
@@ -218,6 +220,7 @@ int main() {
     Scalar const final_loss_g = loss;
     uint32_t const final_count_g = count;
     python_print("dct_g", recovered_dct);
+    python_print("recovered_sample_values_g", recovered_sample_values);
 
     std::cout << '\n';
     std::cout << "Final unregularized loss: " << final_loss_e
diff --git a/plotter.py b/plotter.py
index ac26c4d1085870c97794ae21d1fd2d05774634a2..7cff639162f876e0222b7908143b59d6af3a749f 100644
--- a/plotter.py
+++ b/plotter.py
@@ -5,11 +5,14 @@ sample_times = np.array([0, 4.01606e-05, 8.03213e-05, 0.000120482, 0.000160643,
 sample_values = np.array([0, 0.475338, 0.917539, 1.29619, 1.5861, 1.76932, 1.83651, 1.78761, 1.6316, 1.38558, 1.0731, 0.721928, 0.361558, 0.0205522, -0.27594, -0.508314, -0.664077, -0.738727, -0.735864, -0.666533, -0.547871, -0.401193, -0.249706, -0.116065, -0.0200166, 0.0236569, 0.00668195, -0.0718098, -0.205127, -0.379618, -0.575975, -0.771114, -0.94046, -1.06042, -1.1108, -1.07697, -0.951487, -0.73516, -0.43726, -0.0750177, 0.327653, 0.742071, 1.13718, 1.48217, 1.7492, 1.91577, 1.96681, 1.89599, 1.70642, 1.41042, 1.02857, 0.588008, 0.120163, -0.341839, -0.765935, -1.12376, -1.39294, -1.5588, -1.61544, -1.56598, -1.42199, -1.20225, -0.930797, -0.634626, -0.341124, -0.0755387, 0.141293, 0.294754, 0.377636, 0.390584, 0.341783, 0.245913, 0.122481, -0.00631234, -0.117955, -0.19203, -0.212412, -0.169044, -0.0591181, 0.112454, 0.333336, 0.584794, 0.843377, 1.08309, 1.27787, 1.40408, 1.44291, 1.38232, 1.21838, 0.95598, 0.608661, 0.197701, -0.249515, -0.701696, -1.12623, -1.49192, -1.77159, -1.94442, -1.99773, -1.92798, -1.74113, -1.45207, -1.08332, -0.663067, -0.222778, 0.205515, 0.591886, 0.910992, 1.14409, 1.28044, 1.31795, 1.26307, 1.12989, 0.938508, 0.713012, 0.478999, 0.261091, 0.0805585, -0.0466774, -0.11149, -0.112311, -0.0551393, 0.0472029, 0.176484, 0.311019, 0.427974, 0.505792, 0.526522, 0.477802, 0.354329, 0.158647, -0.0988122, -0.400459, -0.722977, -1.03934, -1.32121, -1.54155, -1.67714, -1.71079, -1.63312, -1.44356, -1.15069, -0.771708, -0.33113, 0.14113, 0.6122, 1.04895, 1.42074, 1.70194, 1.87404, 1.9271, 1.86053, 1.68299, 1.41149, 1.06984, 0.686454, 0.291854, -0.0840174, -0.414358, -0.677735, -0.859784, -0.954231, -0.963144, -0.896411, -0.770496, -0.606599, -0.428405, -0.259632, -0.121617, -0.0311657, 0.00112032, -0.0281042, -0.11461, -0.247029, -0.408011, -0.575983, -0.727348, -0.838913, -0.890317, -0.866221, -0.75805, -0.565119, -0.295029, 0.0367266, 0.407896, 0.791266, 1.15696, 1.47502, 1.71807, 1.86376, 1.89685, 1.81066, 1.60779, 1.30007, 0.907671, 0.457475, -0.019091, -0.488655, -0.918654, -1.28001, -1.54948, -1.71149, -1.75931, -1.69539, -1.53092, -1.28466, -0.981105, -0.648113, -0.314394, -0.00689592, 0.25156, 0.444213, 0.561694, 0.602629, 0.573475, 0.487607, 0.363754, 0.223933, 0.0910946, -0.0133094, -0.0715908, -0.0717057, -0.00857246, 0.115302, 0.289952, 0.498828, 0.720336, 0.929905, 1.10238, 1.21454, 1.24743, 1.18842, 1.03264, 0.783761, 0.453978, 0.0632207, -0.36236, -0.792506, -1.19536, -1.54017, -1.79994, -1.95375, -1.9886, -1.9006, -1.69531, -1.38735, -0.999124, -0.559002, -0.0988865, 0.348445])
 dct = np.array([0.0493937, 1.53249, 0.0703373, 1.58311, 0.071832, 1.69718, 0.0744769, 1.91051, 0.0785496, 2.32168, 0.0845789, 3.29439, 0.0938324, 8.09608, -0.948385, -5.98402, 0.120253, -1.12508, 0.152546, 0.119667, 0.214371, 1.22218, 0.385667, 4.39185, 3.03895, -8.90656, -0.469319, -2.524, -0.208824, -1.50006, -0.13078, -1.06566, -0.0934123, -0.821045, -0.0716006, -0.662819, -0.0573687, -0.551709, -0.0473917, -0.469331, -0.0400375, -0.405854, -0.0344114, -0.355506, -0.0299824, -0.314665, -0.0264156, -0.280932, -0.0234894, -0.252653, -0.0210515, -0.228649, -0.0189938, -0.208056, -0.0172374, -0.190227, -0.0157237, -0.174667, -0.0144081, -0.16099, -0.013256, -0.148893, -0.0122403, -0.138131, -0.0113395, -0.128509, -0.0105363, -0.119865, -0.00981652, -0.112068, -0.00916866, -0.105006, -0.00858312, -0.0985874, -0.00805189, -0.092734, -0.00756824, -0.0873795, -0.0071265, -0.0824671, -0.00672179, -0.0779483, -0.00634998, -0.073781, -0.00600749, -0.0699287, -0.00569123, -0.0663596, -0.0053985, -0.0630459, -0.00512696, -0.0599632, -0.00487456, -0.0570899, -0.00463947, -0.0544069, -0.00442012, -0.0518974, -0.00421508, -0.0495463, -0.00402309, -0.0473402, -0.00384303, -0.045267, -0.00367391, -0.0433158, -0.00351482, -0.0414771, -0.00336496, -0.0397421, -0.0032236, -0.0381027, -0.00309008, -0.0365518, -0.00296382, -0.035083, -0.00284426, -0.0336903, -0.00273093, -0.0323682, -0.00262338, -0.0311119, -0.0025212, -0.0299168, -0.00242403, -0.0287789, -0.00233151, -0.0276942, -0.00224334, -0.0266594, -0.00215923, -0.0256711, -0.00207892, -0.0247266, -0.00200217, -0.0238229, -0.00192875, -0.0229577, -0.00185846, -0.0221285, -0.0017911, -0.0213332, -0.0017265, -0.0205698, -0.00166449, -0.0198364, -0.00160493, -0.0191312, -0.00154766, -0.0184527, -0.00149255, -0.0177994, -0.00143949, -0.0171698, -0.00138835, -0.0165626, -0.00133904, -0.0159765, -0.00129144, -0.0154105, -0.00124547, -0.0148635, -0.00120103, -0.0143343, -0.00115805, -0.0138221, -0.00111644, -0.013326, -0.00107613, -0.0128451, -0.00103706, -0.0123786, -0.000999157, -0.0119258, -0.00096236, -0.011486, -0.000926612, -0.0110584, -0.000891859, -0.0106425, -0.000858049, -0.0102376, -0.000825132, -0.00984319, -0.000793062, -0.00945872, -0.000761795, -0.00908367, -0.00073129, -0.00871754, -0.000701505, -0.00835987, -0.000672404, -0.00801022, -0.000643949, -0.00766816, -0.000616107, -0.00733328, -0.000588845, -0.0070052, -0.00056213, -0.00668355, -0.000535933, -0.00636796, -0.000510224, -0.0060581, -0.000484977, -0.00575364, -0.000460163, -0.00545426, -0.000435757, -0.00515967, -0.000411735, -0.00486955, -0.000388072, -0.00458364, -0.000364745, -0.00430165, -0.000341732, -0.00402332, -0.000319012, -0.00374839, -0.000296562, -0.00347661, -0.000274362, -0.00320774, -0.000252393, -0.00294153, -0.000230635, -0.00267776, -0.000209069, -0.00241619, -0.000187676, -0.0021566, -0.000166438, -0.00189878, -0.000145337, -0.00164251, -0.000124355, -0.00138757, -0.000103475, -0.00113376, -8.26789e-05, -0.000880865, -6.19504e-05, -0.000628682, -4.12723e-05, -0.000377007, -2.06278e-05, -0.000125635])
 recovered_sample_values = np.array([3.71932e-15, 0.475338, 0.917539, 1.29619, 1.5861, 1.76932, 1.83651, 1.78761, 1.6316, 1.38558, 1.0731, 0.721928, 0.361558, 0.0205522, -0.27594, -0.508314, -0.664077, -0.738727, -0.735864, -0.666533, -0.547871, -0.401193, -0.249706, -0.116065, -0.0200166, 0.0236569, 0.00668195, -0.0718098, -0.205127, -0.379618, -0.575975, -0.771114, -0.94046, -1.06042, -1.1108, -1.07697, -0.951487, -0.73516, -0.43726, -0.0750177, 0.327653, 0.742071, 1.13718, 1.48217, 1.7492, 1.91577, 1.96681, 1.89599, 1.70642, 1.41042, 1.02857, 0.588008, 0.120163, -0.341839, -0.765935, -1.12376, -1.39294, -1.5588, -1.61544, -1.56598, -1.42199, -1.20225, -0.930797, -0.634626, -0.341124, -0.0755387, 0.141293, 0.294754, 0.377636, 0.390584, 0.341783, 0.245913, 0.122481, -0.00631234, -0.117955, -0.19203, -0.212412, -0.169044, -0.0591181, 0.112454, 0.333336, 0.584794, 0.843377, 1.08309, 1.27787, 1.40408, 1.44291, 1.38232, 1.21838, 0.95598, 0.608661, 0.197701, -0.249515, -0.701696, -1.12623, -1.49192, -1.77159, -1.94442, -1.99773, -1.92798, -1.74113, -1.45207, -1.08332, -0.663067, -0.222778, 0.205515, 0.591886, 0.910992, 1.14409, 1.28044, 1.31795, 1.26307, 1.12989, 0.938508, 0.713012, 0.478999, 0.261091, 0.0805585, -0.0466774, -0.11149, -0.112311, -0.0551393, 0.0472029, 0.176484, 0.311019, 0.427974, 0.505792, 0.526522, 0.477802, 0.354329, 0.158647, -0.0988122, -0.400459, -0.722977, -1.03934, -1.32121, -1.54155, -1.67714, -1.71079, -1.63312, -1.44356, -1.15069, -0.771708, -0.33113, 0.14113, 0.6122, 1.04895, 1.42074, 1.70194, 1.87404, 1.9271, 1.86053, 1.68299, 1.41149, 1.06984, 0.686454, 0.291854, -0.0840174, -0.414358, -0.677735, -0.859784, -0.954231, -0.963144, -0.896411, -0.770496, -0.606599, -0.428405, -0.259632, -0.121617, -0.0311657, 0.00112032, -0.0281042, -0.11461, -0.247029, -0.408011, -0.575983, -0.727348, -0.838913, -0.890317, -0.866221, -0.75805, -0.565119, -0.295029, 0.0367266, 0.407896, 0.791266, 1.15696, 1.47502, 1.71807, 1.86376, 1.89685, 1.81066, 1.60779, 1.30007, 0.907671, 0.457475, -0.019091, -0.488655, -0.918654, -1.28001, -1.54948, -1.71149, -1.75931, -1.69539, -1.53092, -1.28466, -0.981105, -0.648113, -0.314394, -0.00689592, 0.25156, 0.444213, 0.561694, 0.602629, 0.573475, 0.487607, 0.363754, 0.223933, 0.0910946, -0.0133094, -0.0715908, -0.0717057, -0.00857246, 0.115302, 0.289952, 0.498828, 0.720336, 0.929905, 1.10238, 1.21454, 1.24743, 1.18842, 1.03264, 0.783761, 0.453978, 0.0632207, -0.36236, -0.792506, -1.19536, -1.54017, -1.79994, -1.95375, -1.9886, -1.9006, -1.69531, -1.38735, -0.999124, -0.559002, -0.0988865, 0.348445])
-subset_sample_times = np.array([0, 8.03213e-05, 0.000200803, 0.000240964, 0.000281124, 0.000321285, 0.000361446, 0.000401606, 0.000441767, 0.000522088, 0.000562249, 0.00060241, 0.00064257, 0.000682731, 0.000722892, 0.000763052, 0.000803213, 0.000843373, 0.000883534, 0.00100402, 0.00104418, 0.0011245, 0.00116466, 0.00120482, 0.00124498, 0.0013253, 0.00136546, 0.00144578, 0.00148594, 0.0015261, 0.00164659, 0.00168675, 0.00176707, 0.00180723, 0.00184739, 0.00192771, 0.00196787, 0.00200803, 0.00208835, 0.00212851, 0.00216867, 0.00220884, 0.00228916, 0.00236948, 0.00240964, 0.0024498, 0.00248996, 0.00253012, 0.00261044, 0.00269076, 0.00273092, 0.00277108, 0.00281124, 0.00285141, 0.00289157, 0.00293173, 0.00297189, 0.00301205, 0.00305221, 0.00309237, 0.00313253, 0.00317269, 0.00321285, 0.00325301, 0.00329317, 0.00333333, 0.00341365, 0.00345382, 0.00353414, 0.0035743, 0.00361446, 0.00369478, 0.00373494, 0.0037751, 0.00381526, 0.00385542, 0.00389558, 0.00401606, 0.00405622, 0.00409639, 0.00413655, 0.00417671, 0.00421687, 0.00425703, 0.00429719, 0.00433735, 0.00437751, 0.00441767, 0.00449799, 0.00453815, 0.00461847, 0.00465863, 0.0046988, 0.00473896, 0.00477912, 0.00481928, 0.00485944, 0.0048996, 0.00502008, 0.00506024, 0.0051004, 0.00518072, 0.00522088, 0.00526104, 0.0053012, 0.00534137, 0.00538153, 0.00542169, 0.00546185, 0.00554217, 0.00558233, 0.00562249, 0.00570281, 0.00574297, 0.00578313, 0.00582329, 0.00586345, 0.00590361, 0.00594378, 0.00598394, 0.00606426, 0.00614458, 0.00618474, 0.0062249, 0.00626506, 0.00630522, 0.00634538, 0.00638554, 0.0064257, 0.00646586, 0.00650602, 0.00658635, 0.00662651, 0.00670683, 0.00674699, 0.00678715, 0.00682731, 0.00694779, 0.00698795, 0.00702811, 0.00706827, 0.00710843, 0.00714859, 0.00718876, 0.00722892, 0.00726908, 0.00730924, 0.0073494, 0.00742972, 0.0075502, 0.00759036, 0.00763052, 0.00767068, 0.00771084, 0.007751, 0.00779116, 0.00783133, 0.00791165, 0.00795181, 0.00799197, 0.00803213, 0.00807229, 0.00811245, 0.00815261, 0.00819277, 0.00823293, 0.00827309, 0.00831325, 0.00835341, 0.00839357, 0.00843373, 0.00851406, 0.00855422, 0.00859438, 0.00863454, 0.0086747, 0.00871486, 0.00883534, 0.0088755, 0.00891566, 0.00895582, 0.00899598, 0.00903614, 0.00911647, 0.00915663, 0.00923695, 0.00927711, 0.00931727, 0.00935743, 0.00947791, 0.00951807, 0.00959839, 0.00963855, 0.00967871, 0.00975904, 0.00983936, 0.00987952, 0.00991968, 0.00995984, 0.01])
-subset_sample_values = np.array([0, 0.917539, 1.76932, 1.83651, 1.78761, 1.6316, 1.38558, 1.0731, 0.721928, 0.0205522, -0.27594, -0.508314, -0.664077, -0.738727, -0.735864, -0.666533, -0.547871, -0.401193, -0.249706, 0.0236569, 0.00668195, -0.205127, -0.379618, -0.575975, -0.771114, -1.06042, -1.1108, -0.951487, -0.73516, -0.43726, 0.742071, 1.13718, 1.7492, 1.91577, 1.96681, 1.70642, 1.41042, 1.02857, 0.120163, -0.341839, -0.765935, -1.12376, -1.5588, -1.56598, -1.42199, -1.20225, -0.930797, -0.634626, -0.0755387, 0.294754, 0.377636, 0.390584, 0.341783, 0.245913, 0.122481, -0.00631234, -0.117955, -0.19203, -0.212412, -0.169044, -0.0591181, 0.112454, 0.333336, 0.584794, 0.843377, 1.08309, 1.40408, 1.44291, 1.21838, 0.95598, 0.608661, -0.249515, -0.701696, -1.12623, -1.49192, -1.77159, -1.94442, -1.74113, -1.45207, -1.08332, -0.663067, -0.222778, 0.205515, 0.591886, 0.910992, 1.14409, 1.28044, 1.31795, 1.12989, 0.938508, 0.478999, 0.261091, 0.0805585, -0.0466774, -0.11149, -0.112311, -0.0551393, 0.0472029, 0.427974, 0.505792, 0.526522, 0.354329, 0.158647, -0.0988122, -0.400459, -0.722977, -1.03934, -1.32121, -1.54155, -1.71079, -1.63312, -1.44356, -0.771708, -0.33113, 0.14113, 0.6122, 1.04895, 1.42074, 1.70194, 1.87404, 1.86053, 1.41149, 1.06984, 0.686454, 0.291854, -0.0840174, -0.414358, -0.677735, -0.859784, -0.954231, -0.963144, -0.770496, -0.606599, -0.259632, -0.121617, -0.0311657, 0.00112032, -0.247029, -0.408011, -0.575983, -0.727348, -0.838913, -0.890317, -0.866221, -0.75805, -0.565119, -0.295029, 0.0367266, 0.791266, 1.71807, 1.86376, 1.89685, 1.81066, 1.60779, 1.30007, 0.907671, 0.457475, -0.488655, -0.918654, -1.28001, -1.54948, -1.71149, -1.75931, -1.69539, -1.53092, -1.28466, -0.981105, -0.648113, -0.314394, -0.00689592, 0.25156, 0.561694, 0.602629, 0.573475, 0.487607, 0.363754, 0.223933, -0.0715908, -0.0717057, -0.00857246, 0.115302, 0.289952, 0.498828, 0.929905, 1.10238, 1.24743, 1.18842, 1.03264, 0.783761, -0.36236, -0.792506, -1.54017, -1.79994, -1.95375, -1.9006, -1.38735, -0.999124, -0.559002, -0.0988865, 0.348445])
-dct_e = np.array([-0.196094, 1.18936, 0.479573, 0.663146, -0.080901, 0.577832, -0.148233, 1.01453, -0.197465, 2.00114, -0.294051, 2.11453, 0.213071, 6.16016, -0.731251, -4.70639, 0.256332, -1.53081, 0.259213, -0.0554509, -0.415897, 1.23824, -1.31813, 3.16587, 2.08398, -7.2223, -0.677869, -2.43735, -0.0684313, -1.19933, -0.423981, -0.599289, -1.02476, -0.993441, -0.0777809, -0.865453, -0.074759, -0.345011, -0.281427, -0.203953, -0.622912, 0.275884, 0.111848, -0.296558, 0.264995, 0.430286, -0.281935, 0.0723075, -0.307119, -0.364219, 0.0657357, 0.44006, 0.799354, -0.769753, 0.285176, 0.950941, -0.280907, -0.00497288, 0.296292, -0.642131, 0.889798, 1.09052, 0.400533, -0.304707, 0.246949, 0.293316, 0.323294, -0.533684, 0.474883, 0.195358, 0.637553, 0.580914, -0.0442756, -0.0349357, 0.657594, -0.154956, 0.690376, 0.0426053, 0.71097, 0.0513258, 0.60229, -0.234083, 0.0678623, -0.829127, 0.544893, -0.0570755, 0.341786, 0.779736, 0.287186, -0.0968679, 0.556942, 0.120861, 0.0556344, -0.566939, -0.413085, 0.573418, -0.0885655, 0.293251, 0.261079, -0.256654, 0.0575593, 0.94802, -0.54351, -0.436904, -0.961599, 0.230876, 0.0726653, -0.0600418, -0.528705, -0.0715482, 0.457052, 0.823255, -0.345286, -0.327319, -0.0162373, -0.663708, 0.0437903, -0.493872, -0.79755, -0.238856, -0.609117, -0.187032, 0.187882, 0.231953, -0.202489, -0.264078, -0.396135, -0.0454859, -0.0553627, -0.512516, 0.011238, -0.620677, 0.366957, -0.58604, -0.100525, -0.460264, -0.571354, -1.07625, 0.346349, -0.634828, 0.237577, 0.734295, 0.464448, -0.453415, -0.417422, 0.0399954, 0.129525, -0.628497, -1.76705, -0.512841, -0.129151, 1.00282, -0.322279, 0.391106, 0.0401609, 0.404917, 0.467034, -0.025818, -0.80657, 0.084261, -0.907793, -0.502164, 0.370733, -0.148036, -0.417506, 0.504627, -0.511599, 0.576102, 0.806729, 0.434816, -0.288823, 0.564942, -0.1185, -0.422731, -0.0933278, 0.0328392, -0.264447, 0.0941453, 0.974272, -0.557034, 0.394226, 0.210044, 0.757861, -0.577916, -0.0323905, 0.274702, 1.41617, 0.327861, -0.045681, -0.0263465, -0.332338, 0.299948, 0.196235, -0.435646, 0.223145, 0.681411, 0.332371, 0.0769544, 0.441301, 0.259661, 0.270069, -0.0829026, 0.816754, -0.0269315, 1.1196, 0.186495, -0.335414, -0.693516, 0.642428, -1.09616, 0.213204, 0.679919, 0.549171, 0.157623, 1.03292, 1.01379, -0.0463448, 0.347021, -0.017238, -0.628042, -0.532548, 0.770155, 0.0893456, 0.257188, -0.369556, 0.376224, 0.284265, 0.966083, -0.138508, 0.136536, -0.493359, 1.13903, -0.0016658, -0.455193, -0.646744, 0.676872, -0.703003, 0.797936, 0.322608, 0.587281, 0.0820393, 0.584012, -0.96235, -0.145036, -0.153075, -0.230502, -0.460132, 0.722142, 0.810725, -0.216875])
-dct_f = np.array([-0.127384, 0.627279, 0.0199222, 0.397183, 0.145131, 0.490567, 0.0941131, 0.65138, 0.0163942, 0.900983, 0.0798731, 1.23351, -0.134871, 3.109, -0.306674, -2.28422, 0.0898475, -0.677689, 0.239389, -0.0569611, -0.0638795, 0.678978, -0.398818, 1.60106, 1.07357, -3.58646, -0.177939, -1.23054, -0.072577, -0.642832, -0.328457, -0.294611, -0.328588, -0.463325, -0.092353, -0.261672, 0.038062, -0.26873, -0.194016, -0.140642, -0.292498, 0.0643444, 0.0423415, -0.159698, 0.177234, 0.167989, -0.0365016, -0.0161079, -0.289834, -0.135586, 0.119238, 0.263733, 0.118237, -0.380305, 0.0819409, 0.389443, 0.0157327, -0.106219, 0.112208, -0.256745, 0.432081, 0.478686, 0.0884035, -0.153851, -0.0618788, 0.151083, 0.0776944, -0.0262708, 0.143394, -0.0524241, 0.259769, 0.321918, -0.0302636, -0.236035, 0.109229, -0.150947, 0.289312, 0.0611814, 0.1376, -0.0731829, 0.219035, 0.0158738, 0.0413149, -0.520574, 0.247689, -0.153244, 0.206044, 0.164181, 0.157553, -0.292042, 0.0757304, 0.10983, 0.117293, -0.373123, -0.148336, 0.217526, -0.0523727, 0.00312375, 0.0242798, -0.0581677, -0.0302421, 0.256125, -0.065483, -0.0873927, -0.505082, 0.0201628, 0.00458385, -0.0804091, -0.252171, -0.0772387, 0.260188, 0.33038, -0.0598087, -0.15732, -0.302627, -0.382199, 0.0305166, -0.135607, -0.463583, -0.134784, 0.0133132, 0.0972837, 0.0938835, 0.0487493, -0.0640276, -0.366303, -0.276528, 0.0920163, -0.0787023, -0.236961, -0.077293, 0.0457126, 0.260715, -0.244861, 0.072821, -0.146865, -0.280616, -0.315394, 0.184365, -0.294766, 0.0498205, 0.362471, 0.272611, 0.00276286, -0.28505, 0.29905, 0.0666097, -0.193081, -0.526209, -0.222541, -0.189158, 0.395057, 0.163073, 0.277107, -0.121956, 0.178439, 0.283141, 0.0165068, -0.250144, 0.00599858, -0.314896, -0.115557, 0.238953, 0.119366, 0.00942922, -0.0177633, -0.236968, 0.257597, 0.269313, 0.309531, -0.0579236, 0.167483, 0.134955, -0.0704734, 0.00780955, 0.000736808, -0.0669349, 0.0366694, 0.403837, -0.278345, 0.268819, 0.185103, 0.277384, -0.282463, 0.0252847, 0.0970917, 0.560296, 0.0583888, 0.204766, -0.1665, -0.179371, 0.0941689, 0.0603326, -0.0609865, -0.0326477, 0.121736, 0.0993557, 0.120331, 0.234207, -0.023324, -0.145185, -0.116067, 0.209003, -0.15216, 0.523804, 0.034098, -0.295132, -0.184485, 0.267951, -0.351953, -0.181704, 0.0823375, 0.235163, -0.0189395, 0.295202, 0.349386, -0.0721829, -0.0018707, -0.0580155, -0.234116, -0.332597, 0.264692, -0.0111895, 0.0680038, -0.171677, 0.14486, 0.00132998, 0.170335, -0.0199255, 0.0963386, -0.209359, 0.225002, -0.232108, 0.00555737, -0.291547, 0.0532376, -0.301205, 0.413878, 0.0275611, 0.220819, -0.0329236, 0.152603, -0.592978, -0.192029, -0.0314966, -0.0197569, -0.290899, 0.531222, 0.397682, -0.0790065])
-dct_g = np.array([-0.000851391, 0.812182, 0.000717756, 0.809907, 0.000900241, 0.917738, 0.000749033, 1.15795, 0.000835791, 1.62193, 0.000701021, 2.55865, 6.39499e-05, 7.38274, -0.365392, -5.39843, 0.000937966, -0.620037, 0.000923682, -0.000934204, 0.000895766, 0.495184, 0.00083622, 3.64842, 2.27359, -8.35605, -0.000955588, -1.95047, -0.000825429, -0.829454, -0.00106938, -0.350288, -0.000896813, -0.189321, -0.000911419, -0.00462112, -0.000873775, -0.00126141, -0.00107919, -0.00104999, -0.00107941, -0.000960722, -0.000953438, -0.00116742, 0.000703776, -0.000844646, -0.000709299, -0.00103849, -0.00103327, -0.00105577, 0.000816728, -0.000924531, 0.000912414, -0.000874898, 0.000940953, 0.000936466, 0.000865222, -0.000963668, 0.00106016, -0.000786654, 0.000717029, 0.000980539, 0.00101915, -0.000982648, -0.000638853, -0.00100786, 0.000850404, -0.000977216, 0.00101871, -0.000831285, 0.00113269, 0.000652622, 0.0009446, -0.000859014, 0.00107991, -0.000778459, 0.00117572, -0.000988392, 0.0009614, -0.000953972, 0.000926992, -0.00103274, 0.000765707, -0.000924638, 0.000716508, -0.000808706, 0.000975015, -0.000867629, 0.00106449, -0.000869952, 0.000982544, -0.000874038, 0.000671562, -0.000981684, -0.000983644, 0.000852325, 0.000788513, -0.000862389, -0.000644516, -0.000930621, -0.000946701, -0.000833687, -0.000897757, -0.000885385, -0.000814795, -0.00110544, -0.000823527, -0.00103523, -0.000921799, -0.000902532, -0.000931668, 0.00076057, -0.000907159, -0.000997527, -0.000959691, -0.000887081, -0.00082766, -0.000906316, -0.000733922, -0.00082827, -0.000847044, -0.00103147, 0.000702726, -0.000927271, -0.000970154, -0.00111192, -0.000989683, -0.000733875, -0.000737839, -0.000798997, -0.00071557, -0.000775354, -0.000683331, -0.000879843, -0.000691919, -0.000784618, -0.000841537, -0.000992862, -0.000956877, -0.000677055, 0.000660592, 0.00080709, 0.000883074, 0.000770463, -0.000759243, -0.000866693, -0.00072857, -0.00108437, -0.000975323, -0.000774906, -0.000801349, 0.000870644, 0.000922241, 0.000802996, 0.000739285, 0.000722587, 0.000839007, 0.000801986, -0.000738018, 0.000899697, -0.00101084, 0.000739463, -0.000942127, 0.000879426, -0.000693701, -0.000626707, 0.000937644, 0.000771342, 0.000940338, 0.000805688, 0.000846179, 0.000644826, 0.000744126, -0.00092446, 0.00102083, 0.000952457, 0.000844855, -0.000970845, 0.000877286, 0.000951266, 0.000780698, 0.000927065, 0.0010894, -0.000838937, 0.000762118, 0.000853707, 0.000941357, -0.000809598, 0.00102197, -0.000704607, -0.000717992, -0.00069311, 0.00101798, -0.00103429, 0.000993027, -0.000965518, 0.00102058, 0.00106333, 0.000930496, 0.000637145, 0.000878801, -0.000991114, 0.00108496, 0.000818405, 0.00100599, -0.000930881, -0.000817473, -0.000823709, -0.00067736, -0.000810699, -0.00068407, -0.000651194, 0.000808338, 0.000888656, 0.000995602, 0.000928179, 0.000865867, -0.000714207, -0.000808991, -0.000698807, -0.000799164, 0.000679106, -0.00102976, 0.000760702, -0.000759948, 0.000982899, -0.00076065, 0.000731775, -0.000939647, 0.000925197, -0.00111515, 0.000815017, -0.00107993, 0.000728991, -0.000841825, 0.000984775, -0.000831179, 0.000979764, -0.000847649, 0.000929749, -0.000829043, 0.000653262, -0.00104896, 0.000727772, -0.000965807, 0.000978599, -0.0010083, 0.000744049, 0.000959018, 0.000969082])
+subset_sample_times = np.array([0.000200803, 0.000240964, 0.000281124, 0.000321285, 0.000441767, 0.00064257, 0.000883534, 0.00100402, 0.00104418, 0.00116466, 0.00120482, 0.00124498, 0.00144578, 0.00148594, 0.00164659, 0.00180723, 0.00184739, 0.00192771, 0.00200803, 0.00212851, 0.00240964, 0.00248996, 0.00261044, 0.00289157, 0.00293173, 0.00305221, 0.00313253, 0.00317269, 0.00321285, 0.00325301, 0.00333333, 0.00345382, 0.00369478, 0.00373494, 0.0037751, 0.00389558, 0.00405622, 0.00413655, 0.00425703, 0.00429719, 0.00433735, 0.00437751, 0.00441767, 0.00449799, 0.00453815, 0.00465863, 0.0046988, 0.00473896, 0.00481928, 0.00485944, 0.0048996, 0.00518072, 0.00522088, 0.0053012, 0.00554217, 0.00570281, 0.00574297, 0.00586345, 0.00626506, 0.00630522, 0.00634538, 0.00646586, 0.00658635, 0.00662651, 0.00670683, 0.00674699, 0.00694779, 0.00698795, 0.00702811, 0.00706827, 0.00710843, 0.00714859, 0.00718876, 0.00726908, 0.00730924, 0.00742972, 0.0075502, 0.00763052, 0.00771084, 0.00779116, 0.00791165, 0.00799197, 0.00807229, 0.00811245, 0.00815261, 0.00819277, 0.00823293, 0.00827309, 0.00839357, 0.00843373, 0.00883534, 0.00891566, 0.00903614, 0.00923695, 0.00927711, 0.00935743, 0.00963855, 0.00975904, 0.00983936, 0.01])
+subset_sample_values = np.array([1.76932, 1.83651, 1.78761, 1.6316, 0.721928, -0.664077, -0.249706, 0.0236569, 0.00668195, -0.379618, -0.575975, -0.771114, -0.951487, -0.73516, 0.742071, 1.91577, 1.96681, 1.70642, 1.02857, -0.341839, -1.42199, -0.930797, -0.0755387, 0.122481, -0.00631234, -0.212412, -0.0591181, 0.112454, 0.333336, 0.584794, 1.08309, 1.44291, -0.249515, -0.701696, -1.12623, -1.94442, -1.45207, -0.663067, 0.591886, 0.910992, 1.14409, 1.28044, 1.31795, 1.12989, 0.938508, 0.261091, 0.0805585, -0.0466774, -0.112311, -0.0551393, 0.0472029, 0.354329, 0.158647, -0.400459, -1.71079, -0.771708, -0.33113, 1.04895, 0.291854, -0.0840174, -0.414358, -0.954231, -0.770496, -0.606599, -0.259632, -0.121617, -0.247029, -0.408011, -0.575983, -0.727348, -0.838913, -0.890317, -0.866221, -0.565119, -0.295029, 0.791266, 1.71807, 1.89685, 1.60779, 0.907671, -0.488655, -1.28001, -1.71149, -1.75931, -1.69539, -1.53092, -1.28466, -0.981105, -0.00689592, 0.25156, -0.0715908, -0.00857246, 0.498828, 1.24743, 1.18842, 0.783761, -1.79994, -1.9006, -1.38735, 0.348445])
+dct_e = np.array([-0.181725, 1.31755, 0.649338, 0.146722, 0.577319, 0.52855, -0.420861, 0.00972246, 1.34705, 2.02479, -0.45287, 1.50728, 0.11511, 2.50369, -0.860719, -1.9832, -0.188749, -1.89087, 0.895381, -0.31801, -1.49248, 1.61864, -0.740006, 1.70221, 1.18965, -3.83239, -0.595318, -1.56708, -0.0476166, -0.958164, 0.308146, 0.538959, -0.567305, -1.54234, -0.312223, -1.05125, 0.279093, -0.555883, 0.263304, -1.87512, -0.893629, 1.52954, -0.18754, 0.129317, -0.0409772, -0.481374, -0.272716, -0.40792, -0.428772, -1.23366, 0.932427, -0.284411, 0.114686, -0.175491, 0.287177, 0.321669, -0.324072, 0.163224, 0.792369, -1.01108, 1.23269, 0.226345, 0.882266, -0.0194645, 0.858726, 0.459991, -0.664407, -0.433639, 0.909784, 0.119792, 0.347188, 0.0949223, -0.223123, 0.515855, 1.06883, 0.507396, 1.05056, -0.0203115, 1.16572, 0.471133, 0.787901, -0.74391, -0.192763, 0.246201, 0.433876, 0.56428, 0.922964, 0.921105, 0.782957, 1.06646, -0.642362, -0.560816, -0.619862, 0.406475, -0.944654, 0.524438, 0.105425, 0.192224, -0.588941, 0.361894, -0.0422242, -0.039336, -0.739689, -0.431406, -0.503528, -0.476026, 0.321553, -1.01571, -0.572337, 0.309822, 0.917963, 0.861005, -0.763123, -0.260667, 0.35751, 0.803767, -0.39887, -0.580729, -0.517367, -0.134686, -0.22344, -0.263698, -0.449559, -0.882012, -0.477269, 0.705133, 0.471159, -1.19926, -0.238682, -0.554693, 0.795113, 0.0240765, 0.412576, -0.0746031, -0.56287, 0.0267437, 0.132269, -0.577963, 0.144747, -0.0134209, -0.0511658, 1.41067, -0.414959, -0.290205, 0.312317, -0.102443, -0.115503, -0.133131, -2.58108, -0.421964, 0.238911, 0.822077, -1.31384, -0.674516, 0.270687, -0.216738, 0.0403316, 0.394182, -1.24846, 0.518855, -1.11974, -0.114353, -0.105765, -0.0767365, -0.242629, 0.767938, -0.770488, 1.15386, 1.03914, -0.08044, -1.16603, 1.0451, 0.494025, -0.362372, 0.0147945, -0.1952, -0.333689, -0.507866, 1.61599, -0.814214, 0.0306287, -0.659977, 0.803305, 0.150613, 1.02249, 0.340859, 1.74513, 0.55267, -0.036223, 0.240978, 0.132654, 0.227788, 0.0112584, -0.76642, 0.941365, -0.123865, 0.579842, 1.11127, -0.478658, 0.21837, -0.213266, -0.430659, 0.953601, 0.404303, 0.593639, 0.421635, -0.771913, -0.592505, -0.627325, 0.184693, 0.317796, -0.286112, -0.478074, 0.300756, 0.0458375, 0.821987, -0.0354288, 0.459321, 0.595002, 0.190285, 0.373979, 0.365756, -0.575853, -0.492914, -0.671376, -0.0743422, 0.626893, 0.863512, -0.00458193, 1.51513, 0.183877, 0.718056, -0.512423, -0.529361, 0.0781563, 0.336743, 0.653948, 0.683846, -0.797976, 1.4012, 0.294974, -0.716314, -0.451483, 0.0356109, 1.05136, -1.26643, 0.0326029, 0.0339741, -0.294437, 0.511468])
+recovered_sample_values_e = np.array([0.187398, -0.219211, 0.601479, -1.62239, 0.353216, 1.76915, 1.83631, 1.78747, 1.63136, -0.42343, 0.67252, 0.721842, 0.255595, 0.417274, -0.087271, 0.0160034, -0.664041, 0.435356, 0.622204, -0.664651, -0.845931, 0.293164, -0.249643, 0.0226432, -0.154133, 0.023644, 0.00667129, 0.281602, -1.10039, -0.379707, -0.575932, -0.771107, 0.472397, -1.18578, 0.0943966, 0.756636, -0.951459, -0.735159, -0.484853, 0.890773, 0.00577199, 0.742079, -0.354266, -0.224609, 0.290346, 1.91559, 1.96669, 0.418213, 1.70623, 0.23105, 1.02851, 0.454335, 0.488123, -0.341775, -0.406055, -1.1698, 0.555981, -0.197101, -0.421993, 0.0186464, -1.42188, -0.133832, -0.930696, 0.61418, 0.196866, -0.0755786, 0.161319, 0.305299, 0.705062, 0.638644, 0.0867064, 0.110506, 0.12244, -0.00638202, -0.883692, -0.731076, -0.212422, -1.46077, -0.0591594, 0.112451, 0.333299, 0.584713, -0.0259639, 1.08299, 0.233483, -0.113796, 1.44276, -0.00344606, -0.0632512, -0.176158, -0.264091, -0.794305, -0.249563, -0.701619, -1.12617, 1.14461, 0.1592, -1.9443, -1.17174, 0.21543, 0.103545, -1.45197, -0.58728, -0.663029, 0.109987, -1.24857, 0.591901, 0.9109, 1.14403, 1.28028, 1.31779, -0.906894, 1.12974, 0.938408, 0.215719, -0.061571, 0.260991, 0.080576, -0.0466147, 0.859667, -0.112329, -0.0551926, 0.0471986, 0.964311, -0.497606, 0.141614, 0.301269, -0.0235877, 0.0262531, 0.3543, 0.1587, 1.47672, -0.400375, -0.0132294, -0.508958, -0.381788, -0.531915, -0.561123, -1.71063, 0.453051, -0.0622892, -1.37291, -0.771556, -0.331208, -0.856436, 0.602134, 1.04883, 0.212024, 0.687789, 0.207247, -0.272301, -0.371577, -0.27336, -1.69445, -0.418229, -0.421841, 0.291823, -0.0840002, -0.414279, -0.500578, 0.60803, -0.954171, 0.33188, 0.654416, -0.770451, -0.606532, 0.57914, -0.259711, -0.121592, 0.823373, 0.725293, -0.496875, 0.505777, -0.247035, -0.407977, -0.575984, -0.727286, -0.838908, -0.890263, -0.866161, -0.285993, -0.565074, -0.295068, 0.337103, 0.288314, 0.791217, -0.921258, 0.290582, 1.7178, -0.762089, 1.89676, 1.14011, 1.60759, 0.316128, 0.907569, 0.171061, -0.391503, -0.488666, 0.935816, -1.27987, -0.71724, -1.71139, -1.75919, -1.69521, -1.53076, -1.28453, -0.981015, 0.258848, 0.247893, -0.00693773, 0.251511, 0.903451, -0.573346, 0.201307, -0.512403, 0.0353082, 0.344961, 0.533091, 0.46726, 0.526963, -0.0715649, 0.343882, -0.00849876, -0.19189, -0.0276925, 0.498869, -0.26896, 0.550699, -1.11881, -0.0595735, 1.24726, 1.18835, 0.0426977, 0.783672, -0.184909, 0.492455, 0.412692, -0.587816, 0.0131792, -0.46321, -1.7998, 0.43976, 0.777734, -1.90043, -0.233168, -1.38723, -1.00366, -0.123502, 0.794478, 0.348441])
+dct_f = np.array([-0.0588095, 0.833856, 0.132369, -0.0301992, 0.455137, 0.250446, -0.0265777, 0.0759427, 0.451546, 0.719918, 0.0188013, 0.832724, -0.300436, 1.51966, -0.22465, -1.07993, -0.231827, -0.77749, 0.640883, 0.3547, -0.55264, 0.46163, -0.188983, 0.668256, 0.474796, -1.74631, 0.102898, -0.80091, -0.0308154, -0.435531, -0.293093, -0.12969, -0.0500454, -0.384701, -0.263884, -0.325358, 0.00865145, -0.544157, -0.0846571, -0.794267, -0.271234, 0.251239, -0.162254, -0.0987212, -0.0643337, 0.0771074, -0.0324487, -0.30637, -0.183444, -0.515148, 0.152545, -0.111899, 0.158185, -0.0575453, 0.0477297, 0.304375, -0.0150693, -0.27347, 0.096441, -0.185416, 0.36601, 0.21551, 0.238306, 0.148895, -0.0347817, 0.217116, -0.193461, 0.0335627, -0.0563102, 0.135354, 0.195045, 0.222704, 0.153531, 0.169688, 0.419606, 0.426234, 0.291468, 0.221811, 0.348472, -0.0450274, 0.0882709, -0.141372, 0.072103, -0.271627, 0.0412053, 0.271152, 0.258006, 0.159598, 0.18193, 0.378459, -0.215744, -0.193457, -0.0284426, 0.0601494, -0.474072, 0.0361319, -0.0881088, 0.0100107, -0.16927, 0.146985, 0.126394, -0.156682, -0.15331, 0.0247401, -0.19366, -0.0301007, 0.00279416, -0.13466, -0.189666, 0.0207865, 0.309998, 0.150414, -0.521782, -0.250082, -0.163282, -0.0104582, -0.0267983, -0.106924, -0.258855, 0.170122, 0.362618, 0.0639293, 0.055096, -0.38562, -0.04673, -0.0440446, 0.0231797, -0.134751, 0.173126, -0.186536, 0.248517, 0.0703936, 0.441366, -0.213492, -0.163056, 0.0775844, -0.00207482, -0.0707251, -0.0179041, -0.159056, 0.0192648, 0.258327, 0.0694397, -0.0188316, -0.0714692, 0.0960055, 0.0907962, 0.0343751, -0.817003, -0.25332, 0.102711, 0.0605523, -0.30724, -0.0398769, 0.0733998, 0.0102901, 0.235735, 0.162021, -0.600456, -0.191705, -0.0795974, 0.0390123, 0.15665, 0.064915, 0.0192532, -0.00615515, -0.00524084, 0.418016, 0.155804, 0.113768, -0.254988, 0.143276, 0.410376, 0.0680619, 0.102947, 0.0361485, -0.00268878, -0.0352017, 0.404049, -0.245887, 0.264472, -0.145842, 0.203419, -0.360293, 0.377362, -0.0409041, 0.659429, -0.0439328, 0.0504267, -0.320625, -0.0144086, -0.17255, 0.0525838, -0.279159, 0.335202, 0.0617607, 0.0855753, 0.478747, -0.16533, -0.0513352, -0.204267, -0.422829, 0.0842686, -0.1487, 0.145038, 0.192929, -0.544866, 0.0852746, 0.152796, 0.0766099, -0.0687521, -0.297375, -0.20185, 0.0150318, -0.220655, 0.296588, -0.274386, -0.0372012, 0.171539, 0.409742, -0.228008, 0.1068, -0.458389, -0.149365, -0.365844, 0.0957097, 0.205621, 0.195423, 0.14637, 0.586903, -0.304361, -0.0341307, -0.379283, -0.0907849, 0.111864, -0.192989, 0.157977, 0.108585, -0.227676, 0.469122, -0.158446, -0.390673, -0.197774, -0.287088, 0.586678, -0.238115, -0.209605, 0.2032, -0.282453, 0.37788])
+recovered_sample_values_f = np.array([-3.70876e-05, 2.0836e-05, -4.51426e-05, -4.40836e-06, 3.88584e-05, 0.884661, 0.918257, 0.893803, 0.815798, 1.50037e-05, 2.49235e-05, 0.360964, -3.29052e-06, -3.95722e-05, 1.68161e-05, -2.45186e-05, -0.332038, -4.5205e-05, -5.0508e-05, 5.51065e-05, 4.67794e-06, 3.51812e-05, -0.124853, -1.62655e-05, -4.65643e-05, 0.0118284, 0.00334097, -2.19691e-05, -2.14498e-06, -0.189809, -0.287988, -0.385557, -4.35388e-05, -4.42676e-05, -5.41128e-05, -1.03952e-05, -0.475744, -0.36758, 1.06077e-05, 5.69136e-05, -7.52968e-05, 0.371036, 6.98824e-05, 1.84089e-07, -5.16402e-05, 0.957885, 0.983403, -2.2515e-06, 0.85321, 6.28616e-05, 0.514287, -1.45811e-05, -2.50718e-05, -0.170919, -2.61592e-05, -2.57538e-05, -1.02303e-05, 2.83188e-05, 2.84417e-05, -3.09836e-06, -0.710996, 1.05019e-05, -0.465398, -3.31558e-06, -1.00252e-05, -0.0377693, -6.81044e-05, -3.43126e-05, -1.2085e-05, -4.33099e-05, 5.91509e-05, 2.68848e-05, 0.0612406, -0.00315617, -1.18419e-05, -1.19248e-05, -0.106206, -5.12073e-05, -0.029559, 0.0562271, 0.166668, 0.292397, -7.43634e-06, 0.541547, -5.04004e-05, -4.33825e-05, 0.721457, -4.69209e-05, -2.43987e-05, 3.3759e-07, -4.88419e-05, 3.63621e-06, -0.124757, -0.350848, -0.563116, 7.58511e-05, -3.37666e-06, -0.972212, 5.7199e-06, 3.66918e-06, 2.27414e-05, -0.726036, -1.33845e-05, -0.331534, 7.80569e-05, -4.61348e-05, 0.295943, 0.455496, 0.572045, 0.640218, 0.658974, -5.15927e-05, 0.564943, 0.469254, 9.30541e-06, -2.37093e-05, 0.130546, 0.0402792, -0.0233387, -1.01461e-05, -0.0561557, -0.0275697, 0.0236014, 3.47525e-06, -2.25866e-05, -7.24932e-06, -6.18062e-05, 2.01037e-06, -1.05585e-06, 0.177165, 0.0793237, 3.83942e-05, -0.20023, -4.6802e-06, -5.3048e-05, 4.21949e-05, -2.60539e-05, -3.62929e-05, -0.855397, -1.72469e-05, 3.58848e-05, -6.43991e-05, -0.385854, -0.165565, 9.78009e-06, 5.05982e-05, 0.524476, 4.49429e-05, -2.09177e-05, 5.68395e-06, 3.49685e-05, -2.09145e-05, 1.38292e-06, 2.80278e-05, 7.62132e-06, 3.77161e-05, 0.145927, -0.0420087, -0.207179, -3.72988e-05, 1.8884e-05, -0.477115, -4.75859e-05, 4.30247e-05, -0.385248, -0.3033, 3.20177e-05, -0.129816, -0.0608084, 5.59418e-05, -1.81784e-05, -1.35314e-05, 7.29763e-05, -0.123514, -0.204006, -0.287992, -0.363674, -0.419456, -0.445159, -0.43311, 5.47668e-05, -0.28256, -0.147515, 4.04568e-05, 1.10311e-06, 0.395633, -1.41753e-06, 3.27198e-05, 0.859035, -2.60851e-05, 0.948425, 2.5524e-06, 0.803894, -4.09528e-05, 0.453836, -7.17311e-05, 2.64212e-05, -0.244327, 1.6321e-05, -0.640004, 3.39172e-06, -0.855746, -0.879656, -0.847693, -0.765458, -0.642332, -0.490553, 2.62144e-05, -1.58931e-05, -0.00344796, 0.12578, 2.54479e-05, 1.7286e-05, 3.00527e-05, 5.3382e-05, 1.58758e-05, 2.53701e-05, 3.3373e-05, -2.04702e-05, -0.000101275, -0.0357954, 1.98745e-05, -0.00428623, -1.44003e-05, -8.29881e-06, 0.249414, 7.82239e-05, 5.56443e-05, -1.84477e-05, -9.29659e-06, 0.623715, 0.59421, -3.41785e-05, 0.391881, -8.72229e-06, 8.51149e-06, -8.04077e-06, 2.9772e-05, -3.10169e-05, 2.41253e-05, -0.899971, -1.6752e-05, 9.81089e-06, -0.950299, 2.84836e-05, -0.693674, 2.34346e-05, -9.40837e-06, 3.1845e-08, 0.174223])
+dct_g = np.array([0.000149724, 0.771305, 0.00253788, 0.00339285, -0.00110014, 0.0388017, 0.00156132, 0.375003, 0.000937112, 1.26939, 0.00213171, 2.30911, 0.000757029, 6.92228, -0.00163635, -4.28706, 0.00191156, -0.500537, 0.000186867, 0.000124895, -0.000628494, 0.000471693, 0.000461602, 2.17342, 1.51964, -7.9893, -0.000373024, -1.74966, -0.00134431, -0.349926, -0.00171182, -0.00131359, -0.000393722, -0.0102275, 0.000697821, -0.00968168, -0.00114665, -0.100934, 0.000407316, -0.214982, -0.000468426, -0.00269981, 0.00220919, -0.000231975, 0.00025456, -0.000525247, 0.00171401, -0.00305662, -0.00111151, -0.00095412, -0.000677189, -0.000841486, -0.000369248, -0.00216181, 0.000211881, 0.00257221, 0.00033568, 0.00254537, -0.000253296, -0.00144978, 0.000923437, 0.00205331, 0.00225906, -0.00179852, -0.00115548, 0.00194915, 0.00174568, -0.00165087, -0.0010117, 0.00219968, -0.000454877, 0.00154928, 0.000444233, 0.00151753, 0.00223725, 0.0024384, 0.00199275, 0.000603087, 0.00158674, 0.00131191, 0.000694726, -0.000965344, -0.000825686, -0.000225876, 0.00132617, -0.000637164, 0.00197693, 0.000558467, -0.000270267, 0.00231682, 0.000167241, 0.00113045, 0.000564692, 0.00231912, 9.75377e-05, -0.000694667, -0.00156236, 0.000747288, -0.00404432, 0.000745888, -0.000685005, -0.00152326, -0.00261259, -0.00148069, 0.000597681, 0.000136142, -0.000414445, 0.000729521, 0.000298796, -0.00086733, 0.000682127, 0.00137685, -0.00203124, -0.00107697, -0.00239685, -0.000742532, -0.0015249, -0.00116094, -0.000702543, 0.00178321, -0.00141362, -0.000923074, 0.000444231, -0.0011323, -0.00200722, 0.00152505, -0.00226994, -0.00022183, -0.000241286, -0.00144407, -0.00174651, 0.000244854, 0.00156246, 0.00161421, -0.000540778, -0.0022732, -0.000507639, -0.000326781, 0.00103534, -0.000984001, -0.00219043, -0.00226219, 0.00171788, 0.00102004, 0.00075935, -0.00211124, 0.00159231, -0.00302904, -0.00292467, 0.000983975, -0.00060297, -0.00108229, -0.00274916, -9.51725e-06, 0.000296526, -0.000195273, 0.00183704, 0.000332683, -0.000394536, -0.00148745, -0.00124761, 0.0017409, -0.00150382, -0.00227663, -0.00284453, -0.000474116, 0.000130147, -0.000707601, 0.0036269, 0.00166862, -0.000670101, 0.00181222, -0.000407412, 0.00143587, -0.00039564, -0.00184424, -2.41144e-05, 0.000266808, 0.00149074, -0.000618461, 0.000923418, 0.0014163, 0.00102878, 0.000262601, 0.000293709, 0.00235678, -9.80549e-05, 0.000818056, 0.000266562, -0.00126076, -0.00136221, -0.00133835, 0.00316035, -0.000643411, -0.000644773, -5.09296e-05, 0.00133721, 0.00270558, 0.00111843, 0.00174496, 0.000609601, 0.0002297, -0.00180642, -0.00115816, 0.000874245, -0.000557499, -0.00144158, -0.00226776, 8.51713e-05, 0.00024589, -0.00194988, -0.000148254, 0.000568694, 0.00177071, -0.00122105, 0.000502239, -0.00171106, -0.000502313, 0.00249097, 0.00130503, -0.00317279, -0.00175895, -0.00112788, -0.000542171, -0.000915395, 0.00137904, -0.0016226, -0.00124114, -0.00178114, 0.00309904, -0.00141376, 0.000835986, -0.00192819, -0.000381725, -0.00140574, -0.00124001, 0.000689875, -0.000354474, -0.00289127, -0.000454687, 0.00132958, -0.00107475, -0.00175467, -0.000482041, -0.000176808, -0.0018634, 0.00157456, 4.46565e-05, -0.0018719, 0.00370177])
+recovered_sample_values_g = np.array([0.0228774, 0.0882488, 0.20312, 0.356258, 0.528524, 0.703169, 0.837234, 0.92759, 0.949257, 0.900332, 0.78344, 0.603656, 0.371217, 0.10959, -0.163681, -0.425026, -0.656461, -0.838462, -0.963299, -1.02263, -1.01478, -0.945935, -0.823123, -0.664969, -0.486939, -0.301886, -0.134542, 0.00376754, 0.0965858, 0.138426, 0.133332, 0.0823337, 0.00636902, -0.0957756, -0.19167, -0.261365, -0.294317, -0.263336, -0.170925, -0.0201521, 0.191697, 0.443806, 0.707902, 0.966005, 1.19316, 1.36085, 1.45042, 1.45185, 1.36103, 1.18041, 0.926925, 0.612076, 0.265696, -0.0920195, -0.434576, -0.737764, -0.982372, -1.15653, -1.2458, -1.25273, -1.18156, -1.0404, -0.842374, -0.60938, -0.359982, -0.117114, 0.100904, 0.277475, 0.401526, 0.46458, 0.472304, 0.426983, 0.343113, 0.239442, 0.132126, 0.0467501, -0.00861573, -0.0176406, 0.0253994, 0.119324, 0.261868, 0.422774, 0.602411, 0.77244, 0.909776, 0.999759, 1.03181, 0.98791, 0.866404, 0.679154, 0.425878, 0.124782, -0.209415, -0.541171, -0.862941, -1.14191, -1.36165, -1.5059, -1.55657, -1.51914, -1.3852, -1.16791, -0.881533, -0.546004, -0.181142, 0.182128, 0.516694, 0.801302, 1.01719, 1.15303, 1.2022, 1.16888, 1.07123, 0.910406, 0.717444, 0.506965, 0.304816, 0.126998, -0.0119969, -0.100341, -0.137832, -0.128196, -0.0775713, -0.00126377, 0.0920515, 0.174607, 0.243344, 0.276584, 0.259965, 0.197523, 0.0796496, -0.0938394, -0.301379, -0.532618, -0.770374, -0.988773, -1.17054, -1.28984, -1.33774, -1.29207, -1.16287, -0.948775, -0.657841, -0.308088, 0.0707493, 0.44979, 0.8109, 1.11594, 1.35714, 1.5048, 1.5633, 1.52162, 1.38859, 1.17792, 0.908918, 0.597471, 0.272607, -0.0465169, -0.334206, -0.576549, -0.751872, -0.865805, -0.902169, -0.873945, -0.783882, -0.657552, -0.498734, -0.338646, -0.192649, -0.0810373, -0.0128469, 0.0032344, -0.0327722, -0.120385, -0.238663, -0.374648, -0.505767, -0.6146, -0.675286, -0.675939, -0.604995, -0.465008, -0.261927, -0.00496302, 0.287124, 0.584952, 0.8695, 1.11501, 1.29948, 1.40538, 1.42414, 1.34435, 1.17543, 0.917688, 0.598325, 0.232581, -0.153566, -0.536094, -0.880341, -1.16863, -1.37613, -1.48746, -1.50067, -1.41951, -1.24936, -1.01236, -0.737887, -0.444985, -0.167965, 0.061196, 0.23357, 0.331326, 0.346599, 0.295121, 0.183367, 0.0395767, -0.114083, -0.256339, -0.354688, -0.401296, -0.375608, -0.27967, -0.118335, 0.0962506, 0.347392, 0.609118, 0.855152, 1.06308, 1.21063, 1.28429, 1.27064, 1.17179, 0.984423, 0.725388, 0.412132, 0.074094, -0.270808, -0.590273, -0.859336, -1.05356, -1.1635, -1.17725, -1.09543, -0.939597, -0.721751, -0.476232, -0.222435, -0.00362946, 0.160588, 0.245365])
 
 if __name__ == "__main__":
     # Part (a)
@@ -35,6 +38,7 @@ if __name__ == "__main__":
 
     # Part (d)
     plt.plot(subset_sample_times, subset_sample_values)
+    plt.scatter(subset_sample_times, subset_sample_values)
     plt.title("Sample Subset")
     plt.xlabel('time (s)')
     plt.savefig("fig_d.png")
@@ -47,6 +51,13 @@ if __name__ == "__main__":
     plt.savefig("fig_e.png")
     plt.close()
 
+    plt.plot(sample_times, recovered_sample_values_e)
+    plt.scatter(subset_sample_times, subset_sample_values)
+    plt.title("Recovered Samples (Unregularized)")
+    plt.xlabel('time (s)')
+    plt.savefig("fig_e_2.png")
+    plt.close()
+
     # Part (f)
     plt.plot(np.arange(len(dct)), dct_f)
     plt.title("Recovered DCT (L2 Regularized)")
@@ -54,9 +65,23 @@ if __name__ == "__main__":
     plt.savefig("fig_f.png")
     plt.close()
 
+    plt.plot(sample_times, recovered_sample_values_f)
+    plt.scatter(subset_sample_times, subset_sample_values)
+    plt.title("Recovered Samples (L2 Regularized)")
+    plt.xlabel('time (s)')
+    plt.savefig("fig_f_2.png")
+    plt.close()
+
     # Part (g)
     plt.plot(np.arange(len(dct)), dct_g)
     plt.title("Recovered DCT (L1 Regularized)")
     plt.xlabel("sample number")
     plt.savefig("fig_g.png")
     plt.close()
+
+    plt.plot(sample_times, recovered_sample_values_g)
+    plt.scatter(subset_sample_times, subset_sample_values)
+    plt.title("Recovered Samples (L1 Regularized)")
+    plt.xlabel('time (s)')
+    plt.savefig("fig_g_2.png")
+    plt.close()