#define SQUARE(n)((n) * (n))
#define CUBE(n)((n) * (n) * (n))

#define EXP_SLOW(n)((5 * CUBE(n)) / 4) // (5 * (n)^3) / 4
#define EXP_FAST(n)((4 * CUBE(n)) / 5) // (4 * (n)^3) / 5
#define EXP_MEDIUM_FAST(n)(CUBE(n)) // (n)^3
#define EXP_MEDIUM_SLOW(n)((6 * CUBE(n)) / 5 - (15 * SQUARE(n)) + (100 * n) - 140)    // (6 * (n)^3) / 5 - (15 * (n)^2) + (100 * n) - 140
#define EXP_ERRATIC(n)                                      \
     (n <= 50) ? ((100 - n) * CUBE(n) /  50)                \
    :(n <= 68) ? ((150 - n) * CUBE(n) / 100)                \
    :(n <= 98) ? (((1911 - 10 * n) / 3) * CUBE(n) / 500)    \
    :            ((160 - n) * CUBE(n) / 100)
#define EXP_FLUCTUATING(n)                                  \
     (n <= 15) ? (((n + 1) / 3 + 24) * CUBE(n) / 50)        \
    :(n <= 36) ? ((n + 14)           * CUBE(n) / 50)        \
    :            (((n / 2) + 32)     * CUBE(n) / 50)

const u32 gExperienceTables[][MAX_LEVEL + 1] =
{
    { // Medium Fast
        0, // 0
        1, // 1
        EXP_MEDIUM_FAST(2),
        EXP_MEDIUM_FAST(3),
        EXP_MEDIUM_FAST(4),
        EXP_MEDIUM_FAST(5),
        EXP_MEDIUM_FAST(6),
        EXP_MEDIUM_FAST(7),
        EXP_MEDIUM_FAST(8),
        EXP_MEDIUM_FAST(9),
        EXP_MEDIUM_FAST(10),
        EXP_MEDIUM_FAST(11),
        EXP_MEDIUM_FAST(12),
        EXP_MEDIUM_FAST(13),
        EXP_MEDIUM_FAST(14),
        EXP_MEDIUM_FAST(15),
        EXP_MEDIUM_FAST(16),
        EXP_MEDIUM_FAST(17),
        EXP_MEDIUM_FAST(18),
        EXP_MEDIUM_FAST(19),
        EXP_MEDIUM_FAST(20),
        EXP_MEDIUM_FAST(21),
        EXP_MEDIUM_FAST(22),
        EXP_MEDIUM_FAST(23),
        EXP_MEDIUM_FAST(24),
        EXP_MEDIUM_FAST(25),
        EXP_MEDIUM_FAST(26),
        EXP_MEDIUM_FAST(27),
        EXP_MEDIUM_FAST(28),
        EXP_MEDIUM_FAST(29),
        EXP_MEDIUM_FAST(30),
        EXP_MEDIUM_FAST(31),
        EXP_MEDIUM_FAST(32),
        EXP_MEDIUM_FAST(33),
        EXP_MEDIUM_FAST(34),
        EXP_MEDIUM_FAST(35),
        EXP_MEDIUM_FAST(36),
        EXP_MEDIUM_FAST(37),
        EXP_MEDIUM_FAST(38),
        EXP_MEDIUM_FAST(39),
        EXP_MEDIUM_FAST(40),
        EXP_MEDIUM_FAST(41),
        EXP_MEDIUM_FAST(42),
        EXP_MEDIUM_FAST(43),
        EXP_MEDIUM_FAST(44),
        EXP_MEDIUM_FAST(45),
        EXP_MEDIUM_FAST(46),
        EXP_MEDIUM_FAST(47),
        EXP_MEDIUM_FAST(48),
        EXP_MEDIUM_FAST(49),
        EXP_MEDIUM_FAST(50),
        EXP_MEDIUM_FAST(51),
        EXP_MEDIUM_FAST(52),
        EXP_MEDIUM_FAST(53),
        EXP_MEDIUM_FAST(54),
        EXP_MEDIUM_FAST(55),
        EXP_MEDIUM_FAST(56),
        EXP_MEDIUM_FAST(57),
        EXP_MEDIUM_FAST(58),
        EXP_MEDIUM_FAST(59),
        EXP_MEDIUM_FAST(60),
        EXP_MEDIUM_FAST(61),
        EXP_MEDIUM_FAST(62),
        EXP_MEDIUM_FAST(63),
        EXP_MEDIUM_FAST(64),
        EXP_MEDIUM_FAST(65),
        EXP_MEDIUM_FAST(66),
        EXP_MEDIUM_FAST(67),
        EXP_MEDIUM_FAST(68),
        EXP_MEDIUM_FAST(69),
        EXP_MEDIUM_FAST(70),
        EXP_MEDIUM_FAST(71),
        EXP_MEDIUM_FAST(72),
        EXP_MEDIUM_FAST(73),
        EXP_MEDIUM_FAST(74),
        EXP_MEDIUM_FAST(75),
        EXP_MEDIUM_FAST(76),
        EXP_MEDIUM_FAST(77),
        EXP_MEDIUM_FAST(78),
        EXP_MEDIUM_FAST(79),
        EXP_MEDIUM_FAST(80),
        EXP_MEDIUM_FAST(81),
        EXP_MEDIUM_FAST(82),
        EXP_MEDIUM_FAST(83),
        EXP_MEDIUM_FAST(84),
        EXP_MEDIUM_FAST(85),
        EXP_MEDIUM_FAST(86),
        EXP_MEDIUM_FAST(87),
        EXP_MEDIUM_FAST(88),
        EXP_MEDIUM_FAST(89),
        EXP_MEDIUM_FAST(90),
        EXP_MEDIUM_FAST(91),
        EXP_MEDIUM_FAST(92),
        EXP_MEDIUM_FAST(93),
        EXP_MEDIUM_FAST(94),
        EXP_MEDIUM_FAST(95),
        EXP_MEDIUM_FAST(96),
        EXP_MEDIUM_FAST(97),
        EXP_MEDIUM_FAST(98),
        EXP_MEDIUM_FAST(99),
        EXP_MEDIUM_FAST(100),
    },
    { // Erratic
        0, // 0
        1, // 1
        EXP_ERRATIC(2),
        EXP_ERRATIC(3),
        EXP_ERRATIC(4),
        EXP_ERRATIC(5),
        EXP_ERRATIC(6),
        EXP_ERRATIC(7),
        EXP_ERRATIC(8),
        EXP_ERRATIC(9),
        EXP_ERRATIC(10),
        EXP_ERRATIC(11),
        EXP_ERRATIC(12),
        EXP_ERRATIC(13),
        EXP_ERRATIC(14),
        EXP_ERRATIC(15),
        EXP_ERRATIC(16),
        EXP_ERRATIC(17),
        EXP_ERRATIC(18),
        EXP_ERRATIC(19),
        EXP_ERRATIC(20),
        EXP_ERRATIC(21),
        EXP_ERRATIC(22),
        EXP_ERRATIC(23),
        EXP_ERRATIC(24),
        EXP_ERRATIC(25),
        EXP_ERRATIC(26),
        EXP_ERRATIC(27),
        EXP_ERRATIC(28),
        EXP_ERRATIC(29),
        EXP_ERRATIC(30),
        EXP_ERRATIC(31),
        EXP_ERRATIC(32),
        EXP_ERRATIC(33),
        EXP_ERRATIC(34),
        EXP_ERRATIC(35),
        EXP_ERRATIC(36),
        EXP_ERRATIC(37),
        EXP_ERRATIC(38),
        EXP_ERRATIC(39),
        EXP_ERRATIC(40),
        EXP_ERRATIC(41),
        EXP_ERRATIC(42),
        EXP_ERRATIC(43),
        EXP_ERRATIC(44),
        EXP_ERRATIC(45),
        EXP_ERRATIC(46),
        EXP_ERRATIC(47),
        EXP_ERRATIC(48),
        EXP_ERRATIC(49),
        EXP_ERRATIC(50),
        EXP_ERRATIC(51),
        EXP_ERRATIC(52),
        EXP_ERRATIC(53),
        EXP_ERRATIC(54),
        EXP_ERRATIC(55),
        EXP_ERRATIC(56),
        EXP_ERRATIC(57),
        EXP_ERRATIC(58),
        EXP_ERRATIC(59),
        EXP_ERRATIC(60),
        EXP_ERRATIC(61),
        EXP_ERRATIC(62),
        EXP_ERRATIC(63),
        EXP_ERRATIC(64),
        EXP_ERRATIC(65),
        EXP_ERRATIC(66),
        EXP_ERRATIC(67),
        EXP_ERRATIC(68),
        EXP_ERRATIC(69),
        EXP_ERRATIC(70),
        EXP_ERRATIC(71),
        EXP_ERRATIC(72),
        EXP_ERRATIC(73),
        EXP_ERRATIC(74),
        EXP_ERRATIC(75),
        EXP_ERRATIC(76),
        EXP_ERRATIC(77),
        EXP_ERRATIC(78),
        EXP_ERRATIC(79),
        EXP_ERRATIC(80),
        EXP_ERRATIC(81),
        EXP_ERRATIC(82),
        EXP_ERRATIC(83),
        EXP_ERRATIC(84),
        EXP_ERRATIC(85),
        EXP_ERRATIC(86),
        EXP_ERRATIC(87),
        EXP_ERRATIC(88),
        EXP_ERRATIC(89),
        EXP_ERRATIC(90),
        EXP_ERRATIC(91),
        EXP_ERRATIC(92),
        EXP_ERRATIC(93),
        EXP_ERRATIC(94),
        EXP_ERRATIC(95),
        EXP_ERRATIC(96),
        EXP_ERRATIC(97),
        EXP_ERRATIC(98),
        EXP_ERRATIC(99),
        EXP_ERRATIC(100),
    },
    { // Fluctuating
        0, // 0
        1, // 1
        EXP_FLUCTUATING(2),
        EXP_FLUCTUATING(3),
        EXP_FLUCTUATING(4),
        EXP_FLUCTUATING(5),
        EXP_FLUCTUATING(6),
        EXP_FLUCTUATING(7),
        EXP_FLUCTUATING(8),
        EXP_FLUCTUATING(9),
        EXP_FLUCTUATING(10),
        EXP_FLUCTUATING(11),
        EXP_FLUCTUATING(12),
        EXP_FLUCTUATING(13),
        EXP_FLUCTUATING(14),
        EXP_FLUCTUATING(15),
        EXP_FLUCTUATING(16),
        EXP_FLUCTUATING(17),
        EXP_FLUCTUATING(18),
        EXP_FLUCTUATING(19),
        EXP_FLUCTUATING(20),
        EXP_FLUCTUATING(21),
        EXP_FLUCTUATING(22),
        EXP_FLUCTUATING(23),
        EXP_FLUCTUATING(24),
        EXP_FLUCTUATING(25),
        EXP_FLUCTUATING(26),
        EXP_FLUCTUATING(27),
        EXP_FLUCTUATING(28),
        EXP_FLUCTUATING(29),
        EXP_FLUCTUATING(30),
        EXP_FLUCTUATING(31),
        EXP_FLUCTUATING(32),
        EXP_FLUCTUATING(33),
        EXP_FLUCTUATING(34),
        EXP_FLUCTUATING(35),
        EXP_FLUCTUATING(36),
        EXP_FLUCTUATING(37),
        EXP_FLUCTUATING(38),
        EXP_FLUCTUATING(39),
        EXP_FLUCTUATING(40),
        EXP_FLUCTUATING(41),
        EXP_FLUCTUATING(42),
        EXP_FLUCTUATING(43),
        EXP_FLUCTUATING(44),
        EXP_FLUCTUATING(45),
        EXP_FLUCTUATING(46),
        EXP_FLUCTUATING(47),
        EXP_FLUCTUATING(48),
        EXP_FLUCTUATING(49),
        EXP_FLUCTUATING(50),
        EXP_FLUCTUATING(51),
        EXP_FLUCTUATING(52),
        EXP_FLUCTUATING(53),
        EXP_FLUCTUATING(54),
        EXP_FLUCTUATING(55),
        EXP_FLUCTUATING(56),
        EXP_FLUCTUATING(57),
        EXP_FLUCTUATING(58),
        EXP_FLUCTUATING(59),
        EXP_FLUCTUATING(60),
        EXP_FLUCTUATING(61),
        EXP_FLUCTUATING(62),
        EXP_FLUCTUATING(63),
        EXP_FLUCTUATING(64),
        EXP_FLUCTUATING(65),
        EXP_FLUCTUATING(66),
        EXP_FLUCTUATING(67),
        EXP_FLUCTUATING(68),
        EXP_FLUCTUATING(69),
        EXP_FLUCTUATING(70),
        EXP_FLUCTUATING(71),
        EXP_FLUCTUATING(72),
        EXP_FLUCTUATING(73),
        EXP_FLUCTUATING(74),
        EXP_FLUCTUATING(75),
        EXP_FLUCTUATING(76),
        EXP_FLUCTUATING(77),
        EXP_FLUCTUATING(78),
        EXP_FLUCTUATING(79),
        EXP_FLUCTUATING(80),
        EXP_FLUCTUATING(81),
        EXP_FLUCTUATING(82),
        EXP_FLUCTUATING(83),
        EXP_FLUCTUATING(84),
        EXP_FLUCTUATING(85),
        EXP_FLUCTUATING(86),
        EXP_FLUCTUATING(87),
        EXP_FLUCTUATING(88),
        EXP_FLUCTUATING(89),
        EXP_FLUCTUATING(90),
        EXP_FLUCTUATING(91),
        EXP_FLUCTUATING(92),
        EXP_FLUCTUATING(93),
        EXP_FLUCTUATING(94),
        EXP_FLUCTUATING(95),
        EXP_FLUCTUATING(96),
        EXP_FLUCTUATING(97),
        EXP_FLUCTUATING(98),
        EXP_FLUCTUATING(99),
        EXP_FLUCTUATING(100),
    },
    { // Medium Slow
        0, // 0
        1, // 1
        EXP_MEDIUM_SLOW(2),
        EXP_MEDIUM_SLOW(3),
        EXP_MEDIUM_SLOW(4),
        EXP_MEDIUM_SLOW(5),
        EXP_MEDIUM_SLOW(6),
        EXP_MEDIUM_SLOW(7),
        EXP_MEDIUM_SLOW(8),
        EXP_MEDIUM_SLOW(9),
        EXP_MEDIUM_SLOW(10),
        EXP_MEDIUM_SLOW(11),
        EXP_MEDIUM_SLOW(12),
        EXP_MEDIUM_SLOW(13),
        EXP_MEDIUM_SLOW(14),
        EXP_MEDIUM_SLOW(15),
        EXP_MEDIUM_SLOW(16),
        EXP_MEDIUM_SLOW(17),
        EXP_MEDIUM_SLOW(18),
        EXP_MEDIUM_SLOW(19),
        EXP_MEDIUM_SLOW(20),
        EXP_MEDIUM_SLOW(21),
        EXP_MEDIUM_SLOW(22),
        EXP_MEDIUM_SLOW(23),
        EXP_MEDIUM_SLOW(24),
        EXP_MEDIUM_SLOW(25),
        EXP_MEDIUM_SLOW(26),
        EXP_MEDIUM_SLOW(27),
        EXP_MEDIUM_SLOW(28),
        EXP_MEDIUM_SLOW(29),
        EXP_MEDIUM_SLOW(30),
        EXP_MEDIUM_SLOW(31),
        EXP_MEDIUM_SLOW(32),
        EXP_MEDIUM_SLOW(33),
        EXP_MEDIUM_SLOW(34),
        EXP_MEDIUM_SLOW(35),
        EXP_MEDIUM_SLOW(36),
        EXP_MEDIUM_SLOW(37),
        EXP_MEDIUM_SLOW(38),
        EXP_MEDIUM_SLOW(39),
        EXP_MEDIUM_SLOW(40),
        EXP_MEDIUM_SLOW(41),
        EXP_MEDIUM_SLOW(42),
        EXP_MEDIUM_SLOW(43),
        EXP_MEDIUM_SLOW(44),
        EXP_MEDIUM_SLOW(45),
        EXP_MEDIUM_SLOW(46),
        EXP_MEDIUM_SLOW(47),
        EXP_MEDIUM_SLOW(48),
        EXP_MEDIUM_SLOW(49),
        EXP_MEDIUM_SLOW(50),
        EXP_MEDIUM_SLOW(51),
        EXP_MEDIUM_SLOW(52),
        EXP_MEDIUM_SLOW(53),
        EXP_MEDIUM_SLOW(54),
        EXP_MEDIUM_SLOW(55),
        EXP_MEDIUM_SLOW(56),
        EXP_MEDIUM_SLOW(57),
        EXP_MEDIUM_SLOW(58),
        EXP_MEDIUM_SLOW(59),
        EXP_MEDIUM_SLOW(60),
        EXP_MEDIUM_SLOW(61),
        EXP_MEDIUM_SLOW(62),
        EXP_MEDIUM_SLOW(63),
        EXP_MEDIUM_SLOW(64),
        EXP_MEDIUM_SLOW(65),
        EXP_MEDIUM_SLOW(66),
        EXP_MEDIUM_SLOW(67),
        EXP_MEDIUM_SLOW(68),
        EXP_MEDIUM_SLOW(69),
        EXP_MEDIUM_SLOW(70),
        EXP_MEDIUM_SLOW(71),
        EXP_MEDIUM_SLOW(72),
        EXP_MEDIUM_SLOW(73),
        EXP_MEDIUM_SLOW(74),
        EXP_MEDIUM_SLOW(75),
        EXP_MEDIUM_SLOW(76),
        EXP_MEDIUM_SLOW(77),
        EXP_MEDIUM_SLOW(78),
        EXP_MEDIUM_SLOW(79),
        EXP_MEDIUM_SLOW(80),
        EXP_MEDIUM_SLOW(81),
        EXP_MEDIUM_SLOW(82),
        EXP_MEDIUM_SLOW(83),
        EXP_MEDIUM_SLOW(84),
        EXP_MEDIUM_SLOW(85),
        EXP_MEDIUM_SLOW(86),
        EXP_MEDIUM_SLOW(87),
        EXP_MEDIUM_SLOW(88),
        EXP_MEDIUM_SLOW(89),
        EXP_MEDIUM_SLOW(90),
        EXP_MEDIUM_SLOW(91),
        EXP_MEDIUM_SLOW(92),
        EXP_MEDIUM_SLOW(93),
        EXP_MEDIUM_SLOW(94),
        EXP_MEDIUM_SLOW(95),
        EXP_MEDIUM_SLOW(96),
        EXP_MEDIUM_SLOW(97),
        EXP_MEDIUM_SLOW(98),
        EXP_MEDIUM_SLOW(99),
        EXP_MEDIUM_SLOW(100),
    },
    { // Fast
        0, // 0
        1, // 1
        EXP_FAST(2),
        EXP_FAST(3),
        EXP_FAST(4),
        EXP_FAST(5),
        EXP_FAST(6),
        EXP_FAST(7),
        EXP_FAST(8),
        EXP_FAST(9),
        EXP_FAST(10),
        EXP_FAST(11),
        EXP_FAST(12),
        EXP_FAST(13),
        EXP_FAST(14),
        EXP_FAST(15),
        EXP_FAST(16),
        EXP_FAST(17),
        EXP_FAST(18),
        EXP_FAST(19),
        EXP_FAST(20),
        EXP_FAST(21),
        EXP_FAST(22),
        EXP_FAST(23),
        EXP_FAST(24),
        EXP_FAST(25),
        EXP_FAST(26),
        EXP_FAST(27),
        EXP_FAST(28),
        EXP_FAST(29),
        EXP_FAST(30),
        EXP_FAST(31),
        EXP_FAST(32),
        EXP_FAST(33),
        EXP_FAST(34),
        EXP_FAST(35),
        EXP_FAST(36),
        EXP_FAST(37),
        EXP_FAST(38),
        EXP_FAST(39),
        EXP_FAST(40),
        EXP_FAST(41),
        EXP_FAST(42),
        EXP_FAST(43),
        EXP_FAST(44),
        EXP_FAST(45),
        EXP_FAST(46),
        EXP_FAST(47),
        EXP_FAST(48),
        EXP_FAST(49),
        EXP_FAST(50),
        EXP_FAST(51),
        EXP_FAST(52),
        EXP_FAST(53),
        EXP_FAST(54),
        EXP_FAST(55),
        EXP_FAST(56),
        EXP_FAST(57),
        EXP_FAST(58),
        EXP_FAST(59),
        EXP_FAST(60),
        EXP_FAST(61),
        EXP_FAST(62),
        EXP_FAST(63),
        EXP_FAST(64),
        EXP_FAST(65),
        EXP_FAST(66),
        EXP_FAST(67),
        EXP_FAST(68),
        EXP_FAST(69),
        EXP_FAST(70),
        EXP_FAST(71),
        EXP_FAST(72),
        EXP_FAST(73),
        EXP_FAST(74),
        EXP_FAST(75),
        EXP_FAST(76),
        EXP_FAST(77),
        EXP_FAST(78),
        EXP_FAST(79),
        EXP_FAST(80),
        EXP_FAST(81),
        EXP_FAST(82),
        EXP_FAST(83),
        EXP_FAST(84),
        EXP_FAST(85),
        EXP_FAST(86),
        EXP_FAST(87),
        EXP_FAST(88),
        EXP_FAST(89),
        EXP_FAST(90),
        EXP_FAST(91),
        EXP_FAST(92),
        EXP_FAST(93),
        EXP_FAST(94),
        EXP_FAST(95),
        EXP_FAST(96),
        EXP_FAST(97),
        EXP_FAST(98),
        EXP_FAST(99),
        EXP_FAST(100),
    },
    { // Slow
        0, // 0
        1, // 1
        EXP_SLOW(2),
        EXP_SLOW(3),
        EXP_SLOW(4),
        EXP_SLOW(5),
        EXP_SLOW(6),
        EXP_SLOW(7),
        EXP_SLOW(8),
        EXP_SLOW(9),
        EXP_SLOW(10),
        EXP_SLOW(11),
        EXP_SLOW(12),
        EXP_SLOW(13),
        EXP_SLOW(14),
        EXP_SLOW(15),
        EXP_SLOW(16),
        EXP_SLOW(17),
        EXP_SLOW(18),
        EXP_SLOW(19),
        EXP_SLOW(20),
        EXP_SLOW(21),
        EXP_SLOW(22),
        EXP_SLOW(23),
        EXP_SLOW(24),
        EXP_SLOW(25),
        EXP_SLOW(26),
        EXP_SLOW(27),
        EXP_SLOW(28),
        EXP_SLOW(29),
        EXP_SLOW(30),
        EXP_SLOW(31),
        EXP_SLOW(32),
        EXP_SLOW(33),
        EXP_SLOW(34),
        EXP_SLOW(35),
        EXP_SLOW(36),
        EXP_SLOW(37),
        EXP_SLOW(38),
        EXP_SLOW(39),
        EXP_SLOW(40),
        EXP_SLOW(41),
        EXP_SLOW(42),
        EXP_SLOW(43),
        EXP_SLOW(44),
        EXP_SLOW(45),
        EXP_SLOW(46),
        EXP_SLOW(47),
        EXP_SLOW(48),
        EXP_SLOW(49),
        EXP_SLOW(50),
        EXP_SLOW(51),
        EXP_SLOW(52),
        EXP_SLOW(53),
        EXP_SLOW(54),
        EXP_SLOW(55),
        EXP_SLOW(56),
        EXP_SLOW(57),
        EXP_SLOW(58),
        EXP_SLOW(59),
        EXP_SLOW(60),
        EXP_SLOW(61),
        EXP_SLOW(62),
        EXP_SLOW(63),
        EXP_SLOW(64),
        EXP_SLOW(65),
        EXP_SLOW(66),
        EXP_SLOW(67),
        EXP_SLOW(68),
        EXP_SLOW(69),
        EXP_SLOW(70),
        EXP_SLOW(71),
        EXP_SLOW(72),
        EXP_SLOW(73),
        EXP_SLOW(74),
        EXP_SLOW(75),
        EXP_SLOW(76),
        EXP_SLOW(77),
        EXP_SLOW(78),
        EXP_SLOW(79),
        EXP_SLOW(80),
        EXP_SLOW(81),
        EXP_SLOW(82),
        EXP_SLOW(83),
        EXP_SLOW(84),
        EXP_SLOW(85),
        EXP_SLOW(86),
        EXP_SLOW(87),
        EXP_SLOW(88),
        EXP_SLOW(89),
        EXP_SLOW(90),
        EXP_SLOW(91),
        EXP_SLOW(92),
        EXP_SLOW(93),
        EXP_SLOW(94),
        EXP_SLOW(95),
        EXP_SLOW(96),
        EXP_SLOW(97),
        EXP_SLOW(98),
        EXP_SLOW(99),
        EXP_SLOW(100),
    },
    { // Medium Fast copy 2 (unused? to-do: investigate)
        0, // 0
        1, // 1
        EXP_MEDIUM_FAST(2),
        EXP_MEDIUM_FAST(3),
        EXP_MEDIUM_FAST(4),
        EXP_MEDIUM_FAST(5),
        EXP_MEDIUM_FAST(6),
        EXP_MEDIUM_FAST(7),
        EXP_MEDIUM_FAST(8),
        EXP_MEDIUM_FAST(9),
        EXP_MEDIUM_FAST(10),
        EXP_MEDIUM_FAST(11),
        EXP_MEDIUM_FAST(12),
        EXP_MEDIUM_FAST(13),
        EXP_MEDIUM_FAST(14),
        EXP_MEDIUM_FAST(15),
        EXP_MEDIUM_FAST(16),
        EXP_MEDIUM_FAST(17),
        EXP_MEDIUM_FAST(18),
        EXP_MEDIUM_FAST(19),
        EXP_MEDIUM_FAST(20),
        EXP_MEDIUM_FAST(21),
        EXP_MEDIUM_FAST(22),
        EXP_MEDIUM_FAST(23),
        EXP_MEDIUM_FAST(24),
        EXP_MEDIUM_FAST(25),
        EXP_MEDIUM_FAST(26),
        EXP_MEDIUM_FAST(27),
        EXP_MEDIUM_FAST(28),
        EXP_MEDIUM_FAST(29),
        EXP_MEDIUM_FAST(30),
        EXP_MEDIUM_FAST(31),
        EXP_MEDIUM_FAST(32),
        EXP_MEDIUM_FAST(33),
        EXP_MEDIUM_FAST(34),
        EXP_MEDIUM_FAST(35),
        EXP_MEDIUM_FAST(36),
        EXP_MEDIUM_FAST(37),
        EXP_MEDIUM_FAST(38),
        EXP_MEDIUM_FAST(39),
        EXP_MEDIUM_FAST(40),
        EXP_MEDIUM_FAST(41),
        EXP_MEDIUM_FAST(42),
        EXP_MEDIUM_FAST(43),
        EXP_MEDIUM_FAST(44),
        EXP_MEDIUM_FAST(45),
        EXP_MEDIUM_FAST(46),
        EXP_MEDIUM_FAST(47),
        EXP_MEDIUM_FAST(48),
        EXP_MEDIUM_FAST(49),
        EXP_MEDIUM_FAST(50),
        EXP_MEDIUM_FAST(51),
        EXP_MEDIUM_FAST(52),
        EXP_MEDIUM_FAST(53),
        EXP_MEDIUM_FAST(54),
        EXP_MEDIUM_FAST(55),
        EXP_MEDIUM_FAST(56),
        EXP_MEDIUM_FAST(57),
        EXP_MEDIUM_FAST(58),
        EXP_MEDIUM_FAST(59),
        EXP_MEDIUM_FAST(60),
        EXP_MEDIUM_FAST(61),
        EXP_MEDIUM_FAST(62),
        EXP_MEDIUM_FAST(63),
        EXP_MEDIUM_FAST(64),
        EXP_MEDIUM_FAST(65),
        EXP_MEDIUM_FAST(66),
        EXP_MEDIUM_FAST(67),
        EXP_MEDIUM_FAST(68),
        EXP_MEDIUM_FAST(69),
        EXP_MEDIUM_FAST(70),
        EXP_MEDIUM_FAST(71),
        EXP_MEDIUM_FAST(72),
        EXP_MEDIUM_FAST(73),
        EXP_MEDIUM_FAST(74),
        EXP_MEDIUM_FAST(75),
        EXP_MEDIUM_FAST(76),
        EXP_MEDIUM_FAST(77),
        EXP_MEDIUM_FAST(78),
        EXP_MEDIUM_FAST(79),
        EXP_MEDIUM_FAST(80),
        EXP_MEDIUM_FAST(81),
        EXP_MEDIUM_FAST(82),
        EXP_MEDIUM_FAST(83),
        EXP_MEDIUM_FAST(84),
        EXP_MEDIUM_FAST(85),
        EXP_MEDIUM_FAST(86),
        EXP_MEDIUM_FAST(87),
        EXP_MEDIUM_FAST(88),
        EXP_MEDIUM_FAST(89),
        EXP_MEDIUM_FAST(90),
        EXP_MEDIUM_FAST(91),
        EXP_MEDIUM_FAST(92),
        EXP_MEDIUM_FAST(93),
        EXP_MEDIUM_FAST(94),
        EXP_MEDIUM_FAST(95),
        EXP_MEDIUM_FAST(96),
        EXP_MEDIUM_FAST(97),
        EXP_MEDIUM_FAST(98),
        EXP_MEDIUM_FAST(99),
        EXP_MEDIUM_FAST(100),
    },
    { // Medium Fast copy 3 (unused? to-do: investigate)
        0, // 0
        1, // 1
        EXP_MEDIUM_FAST(2),
        EXP_MEDIUM_FAST(3),
        EXP_MEDIUM_FAST(4),
        EXP_MEDIUM_FAST(5),
        EXP_MEDIUM_FAST(6),
        EXP_MEDIUM_FAST(7),
        EXP_MEDIUM_FAST(8),
        EXP_MEDIUM_FAST(9),
        EXP_MEDIUM_FAST(10),
        EXP_MEDIUM_FAST(11),
        EXP_MEDIUM_FAST(12),
        EXP_MEDIUM_FAST(13),
        EXP_MEDIUM_FAST(14),
        EXP_MEDIUM_FAST(15),
        EXP_MEDIUM_FAST(16),
        EXP_MEDIUM_FAST(17),
        EXP_MEDIUM_FAST(18),
        EXP_MEDIUM_FAST(19),
        EXP_MEDIUM_FAST(20),
        EXP_MEDIUM_FAST(21),
        EXP_MEDIUM_FAST(22),
        EXP_MEDIUM_FAST(23),
        EXP_MEDIUM_FAST(24),
        EXP_MEDIUM_FAST(25),
        EXP_MEDIUM_FAST(26),
        EXP_MEDIUM_FAST(27),
        EXP_MEDIUM_FAST(28),
        EXP_MEDIUM_FAST(29),
        EXP_MEDIUM_FAST(30),
        EXP_MEDIUM_FAST(31),
        EXP_MEDIUM_FAST(32),
        EXP_MEDIUM_FAST(33),
        EXP_MEDIUM_FAST(34),
        EXP_MEDIUM_FAST(35),
        EXP_MEDIUM_FAST(36),
        EXP_MEDIUM_FAST(37),
        EXP_MEDIUM_FAST(38),
        EXP_MEDIUM_FAST(39),
        EXP_MEDIUM_FAST(40),
        EXP_MEDIUM_FAST(41),
        EXP_MEDIUM_FAST(42),
        EXP_MEDIUM_FAST(43),
        EXP_MEDIUM_FAST(44),
        EXP_MEDIUM_FAST(45),
        EXP_MEDIUM_FAST(46),
        EXP_MEDIUM_FAST(47),
        EXP_MEDIUM_FAST(48),
        EXP_MEDIUM_FAST(49),
        EXP_MEDIUM_FAST(50),
        EXP_MEDIUM_FAST(51),
        EXP_MEDIUM_FAST(52),
        EXP_MEDIUM_FAST(53),
        EXP_MEDIUM_FAST(54),
        EXP_MEDIUM_FAST(55),
        EXP_MEDIUM_FAST(56),
        EXP_MEDIUM_FAST(57),
        EXP_MEDIUM_FAST(58),
        EXP_MEDIUM_FAST(59),
        EXP_MEDIUM_FAST(60),
        EXP_MEDIUM_FAST(61),
        EXP_MEDIUM_FAST(62),
        EXP_MEDIUM_FAST(63),
        EXP_MEDIUM_FAST(64),
        EXP_MEDIUM_FAST(65),
        EXP_MEDIUM_FAST(66),
        EXP_MEDIUM_FAST(67),
        EXP_MEDIUM_FAST(68),
        EXP_MEDIUM_FAST(69),
        EXP_MEDIUM_FAST(70),
        EXP_MEDIUM_FAST(71),
        EXP_MEDIUM_FAST(72),
        EXP_MEDIUM_FAST(73),
        EXP_MEDIUM_FAST(74),
        EXP_MEDIUM_FAST(75),
        EXP_MEDIUM_FAST(76),
        EXP_MEDIUM_FAST(77),
        EXP_MEDIUM_FAST(78),
        EXP_MEDIUM_FAST(79),
        EXP_MEDIUM_FAST(80),
        EXP_MEDIUM_FAST(81),
        EXP_MEDIUM_FAST(82),
        EXP_MEDIUM_FAST(83),
        EXP_MEDIUM_FAST(84),
        EXP_MEDIUM_FAST(85),
        EXP_MEDIUM_FAST(86),
        EXP_MEDIUM_FAST(87),
        EXP_MEDIUM_FAST(88),
        EXP_MEDIUM_FAST(89),
        EXP_MEDIUM_FAST(90),
        EXP_MEDIUM_FAST(91),
        EXP_MEDIUM_FAST(92),
        EXP_MEDIUM_FAST(93),
        EXP_MEDIUM_FAST(94),
        EXP_MEDIUM_FAST(95),
        EXP_MEDIUM_FAST(96),
        EXP_MEDIUM_FAST(97),
        EXP_MEDIUM_FAST(98),
        EXP_MEDIUM_FAST(99),
        EXP_MEDIUM_FAST(100),
    }
};
