Reduce the size of the inverse table

We can use the fact that the table is symmetrical around zero
to reduce the number of entries.

I kept the negative side because it has one more entry
because 2s compliment number range is asymmetrical even
though there is an assert that forces symmetry.

Change-Id: I7a3bcb484ed917b6a8f19b779d8721ccb36337df
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/660857
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
diff --git a/src/core/SkAnalyticEdge.cpp b/src/core/SkAnalyticEdge.cpp
index 8333a38..10b4427 100644
--- a/src/core/SkAnalyticEdge.cpp
+++ b/src/core/SkAnalyticEdge.cpp
@@ -113,94 +113,14 @@
         -135300, -139810, -144631, -149796, -155344, -161319, -167772, -174762, -182361,
         -190650, -199728, -209715, -220752, -233016, -246723, -262144, -279620, -299593,
         -322638, -349525, -381300, -419430, -466033, -524288, -599186, -699050, -838860,
-        -1048576, -1398101, -2097152, -4194304, 0, 4194304, 2097152, 1398101, 1048576,
-        838860, 699050, 599186, 524288, 466033, 419430, 381300, 349525, 322638, 299593,
-        279620, 262144, 246723, 233016, 220752, 209715, 199728, 190650, 182361, 174762,
-        167772, 161319, 155344, 149796, 144631, 139810, 135300, 131072, 127100, 123361,
-        119837, 116508, 113359, 110376, 107546, 104857, 102300, 99864, 97541, 95325,
-        93206, 91180, 89240, 87381, 85598, 83886, 82241, 80659, 79137, 77672, 76260,
-        74898, 73584, 72315, 71089, 69905, 68759, 67650, 66576, 65536, 64527, 63550,
-        62601, 61680, 60787, 59918, 59074, 58254, 57456, 56679, 55924, 55188, 54471,
-        53773, 53092, 52428, 51781, 51150, 50533, 49932, 49344, 48770, 48210, 47662,
-        47127, 46603, 46091, 45590, 45100, 44620, 44150, 43690, 43240, 42799, 42366,
-        41943, 41527, 41120, 40721, 40329, 39945, 39568, 39199, 38836, 38479, 38130,
-        37786, 37449, 37117, 36792, 36472, 36157, 35848, 35544, 35246, 34952, 34663,
-        34379, 34100, 33825, 33554, 33288, 33026, 32768, 32513, 32263, 32017, 31775,
-        31536, 31300, 31068, 30840, 30615, 30393, 30174, 29959, 29746, 29537, 29330,
-        29127, 28926, 28728, 28532, 28339, 28149, 27962, 27776, 27594, 27413, 27235,
-        27060, 26886, 26715, 26546, 26379, 26214, 26051, 25890, 25731, 25575, 25420,
-        25266, 25115, 24966, 24818, 24672, 24528, 24385, 24244, 24105, 23967, 23831,
-        23696, 23563, 23431, 23301, 23172, 23045, 22919, 22795, 22671, 22550, 22429,
-        22310, 22192, 22075, 21959, 21845, 21732, 21620, 21509, 21399, 21290, 21183,
-        21076, 20971, 20867, 20763, 20661, 20560, 20460, 20360, 20262, 20164, 20068,
-        19972, 19878, 19784, 19691, 19599, 19508, 19418, 19328, 19239, 19152, 19065,
-        18978, 18893, 18808, 18724, 18641, 18558, 18477, 18396, 18315, 18236, 18157,
-        18078, 18001, 17924, 17848, 17772, 17697, 17623, 17549, 17476, 17403, 17331,
-        17260, 17189, 17119, 17050, 16980, 16912, 16844, 16777, 16710, 16644, 16578,
-        16513, 16448, 16384, 16320, 16256, 16194, 16131, 16070, 16008, 15947, 15887,
-        15827, 15768, 15709, 15650, 15592, 15534, 15477, 15420, 15363, 15307, 15252,
-        15196, 15141, 15087, 15033, 14979, 14926, 14873, 14820, 14768, 14716, 14665,
-        14614, 14563, 14513, 14463, 14413, 14364, 14315, 14266, 14217, 14169, 14122,
-        14074, 14027, 13981, 13934, 13888, 13842, 13797, 13751, 13706, 13662, 13617,
-        13573, 13530, 13486, 13443, 13400, 13357, 13315, 13273, 13231, 13189, 13148,
-        13107, 13066, 13025, 12985, 12945, 12905, 12865, 12826, 12787, 12748, 12710,
-        12671, 12633, 12595, 12557, 12520, 12483, 12446, 12409, 12372, 12336, 12300,
-        12264, 12228, 12192, 12157, 12122, 12087, 12052, 12018, 11983, 11949, 11915,
-        11881, 11848, 11814, 11781, 11748, 11715, 11683, 11650, 11618, 11586, 11554,
-        11522, 11491, 11459, 11428, 11397, 11366, 11335, 11305, 11275, 11244, 11214,
-        11184, 11155, 11125, 11096, 11066, 11037, 11008, 10979, 10951, 10922, 10894,
-        10866, 10837, 10810, 10782, 10754, 10727, 10699, 10672, 10645, 10618, 10591,
-        10564, 10538, 10512, 10485, 10459, 10433, 10407, 10381, 10356, 10330, 10305,
-        10280, 10255, 10230, 10205, 10180, 10155, 10131, 10106, 10082, 10058, 10034,
-        10010, 9986, 9962, 9939, 9915, 9892, 9868, 9845, 9822, 9799, 9776, 9754, 9731,
-        9709, 9686, 9664, 9642, 9619, 9597, 9576, 9554, 9532, 9510, 9489, 9467, 9446,
-        9425, 9404, 9383, 9362, 9341, 9320, 9300, 9279, 9258, 9238, 9218, 9198, 9177,
-        9157, 9137, 9118, 9098, 9078, 9058, 9039, 9020, 9000, 8981, 8962, 8943, 8924,
-        8905, 8886, 8867, 8848, 8830, 8811, 8793, 8774, 8756, 8738, 8719, 8701, 8683,
-        8665, 8648, 8630, 8612, 8594, 8577, 8559, 8542, 8525, 8507, 8490, 8473, 8456,
-        8439, 8422, 8405, 8388, 8371, 8355, 8338, 8322, 8305, 8289, 8272, 8256, 8240,
-        8224, 8208, 8192, 8176, 8160, 8144, 8128, 8112, 8097, 8081, 8065, 8050, 8035,
-        8019, 8004, 7989, 7973, 7958, 7943, 7928, 7913, 7898, 7884, 7869, 7854, 7839,
-        7825, 7810, 7796, 7781, 7767, 7752, 7738, 7724, 7710, 7695, 7681, 7667, 7653,
-        7639, 7626, 7612, 7598, 7584, 7570, 7557, 7543, 7530, 7516, 7503, 7489, 7476,
-        7463, 7449, 7436, 7423, 7410, 7397, 7384, 7371, 7358, 7345, 7332, 7319, 7307,
-        7294, 7281, 7269, 7256, 7244, 7231, 7219, 7206, 7194, 7182, 7169, 7157, 7145,
-        7133, 7121, 7108, 7096, 7084, 7073, 7061, 7049, 7037, 7025, 7013, 7002, 6990,
-        6978, 6967, 6955, 6944, 6932, 6921, 6909, 6898, 6887, 6875, 6864, 6853, 6842,
-        6831, 6820, 6808, 6797, 6786, 6775, 6765, 6754, 6743, 6732, 6721, 6710, 6700,
-        6689, 6678, 6668, 6657, 6647, 6636, 6626, 6615, 6605, 6594, 6584, 6574, 6563,
-        6553, 6543, 6533, 6523, 6512, 6502, 6492, 6482, 6472, 6462, 6452, 6442, 6432,
-        6423, 6413, 6403, 6393, 6384, 6374, 6364, 6355, 6345, 6335, 6326, 6316, 6307,
-        6297, 6288, 6278, 6269, 6260, 6250, 6241, 6232, 6223, 6213, 6204, 6195, 6186,
-        6177, 6168, 6159, 6150, 6141, 6132, 6123, 6114, 6105, 6096, 6087, 6078, 6069,
-        6061, 6052, 6043, 6034, 6026, 6017, 6009, 6000, 5991, 5983, 5974, 5966, 5957,
-        5949, 5940, 5932, 5924, 5915, 5907, 5899, 5890, 5882, 5874, 5866, 5857, 5849,
-        5841, 5833, 5825, 5817, 5809, 5801, 5793, 5785, 5777, 5769, 5761, 5753, 5745,
-        5737, 5729, 5722, 5714, 5706, 5698, 5691, 5683, 5675, 5667, 5660, 5652, 5645,
-        5637, 5629, 5622, 5614, 5607, 5599, 5592, 5584, 5577, 5570, 5562, 5555, 5548,
-        5540, 5533, 5526, 5518, 5511, 5504, 5497, 5489, 5482, 5475, 5468, 5461, 5454,
-        5447, 5440, 5433, 5426, 5418, 5412, 5405, 5398, 5391, 5384, 5377, 5370, 5363,
-        5356, 5349, 5343, 5336, 5329, 5322, 5315, 5309, 5302, 5295, 5289, 5282, 5275,
-        5269, 5262, 5256, 5249, 5242, 5236, 5229, 5223, 5216, 5210, 5203, 5197, 5190,
-        5184, 5178, 5171, 5165, 5159, 5152, 5146, 5140, 5133, 5127, 5121, 5115, 5108,
-        5102, 5096, 5090, 5084, 5077, 5071, 5065, 5059, 5053, 5047, 5041, 5035, 5029,
-        5023, 5017, 5011, 5005, 4999, 4993, 4987, 4981, 4975, 4969, 4963, 4957, 4951,
-        4946, 4940, 4934, 4928, 4922, 4917, 4911, 4905, 4899, 4894, 4888, 4882, 4877,
-        4871, 4865, 4860, 4854, 4848, 4843, 4837, 4832, 4826, 4821, 4815, 4809, 4804,
-        4798, 4793, 4788, 4782, 4777, 4771, 4766, 4760, 4755, 4750, 4744, 4739, 4733,
-        4728, 4723, 4718, 4712, 4707, 4702, 4696, 4691, 4686, 4681, 4675, 4670, 4665,
-        4660, 4655, 4650, 4644, 4639, 4634, 4629, 4624, 4619, 4614, 4609, 4604, 4599,
-        4593, 4588, 4583, 4578, 4573, 4568, 4563, 4559, 4554, 4549, 4544, 4539, 4534,
-        4529, 4524, 4519, 4514, 4510, 4505, 4500, 4495, 4490, 4485, 4481, 4476, 4471,
-        4466, 4462, 4457, 4452, 4447, 4443, 4438, 4433, 4429, 4424, 4419, 4415, 4410,
-        4405, 4401, 4396, 4391, 4387, 4382, 4378, 4373, 4369, 4364, 4359, 4355, 4350,
-        4346, 4341, 4337, 4332, 4328, 4324, 4319, 4315, 4310, 4306, 4301, 4297, 4293,
-        4288, 4284, 4279, 4275, 4271, 4266, 4262, 4258, 4253, 4249, 4245, 4240, 4236,
-        4232, 4228, 4223, 4219, 4215, 4211, 4206, 4202, 4198, 4194, 4190, 4185, 4181,
-        4177, 4173, 4169, 4165, 4161, 4156, 4152, 4148, 4144, 4140, 4136, 4132, 4128,
-        4124, 4120, 4116, 4112, 4108, 4104, 4100
+        -1048576, -1398101, -2097152, -4194304, 0
     };
-    return table[kInverseTableSize + x];
+
+    if (x > 0) {
+        return -table[kInverseTableSize - x];
+    } else {
+        return table[kInverseTableSize + x];
+    }
 }
 
 static inline SkFixed quick_div(SkFDot6 a, SkFDot6 b) {