M2L derivative taking is not aware of PDE recurrences
Here's a log of what the MiDerivativeTaker for the M2L translation generator is doing for a M(24) -> L(24) translation operator with the Laplace kernel.
Every cofficient ending in 2 is unnecessary. This implies that derivative taking needs to learn about recurrences.
taking derivative (1, 0)
taking derivative (0, 1)
taking derivative (2, 0)
taking derivative (1, 1)
taking derivative (3, 0)
taking derivative (2, 1)
taking derivative (4, 0)
taking derivative (3, 1)
taking derivative (5, 0)
taking derivative (4, 1)
taking derivative (6, 0)
taking derivative (5, 1)
taking derivative (7, 0)
taking derivative (6, 1)
taking derivative (8, 0)
taking derivative (7, 1)
taking derivative (9, 0)
taking derivative (8, 1)
taking derivative (10, 0)
taking derivative (9, 1)
taking derivative (11, 0)
taking derivative (10, 1)
taking derivative (12, 0)
taking derivative (11, 1)
taking derivative (13, 0)
taking derivative (12, 1)
taking derivative (14, 0)
taking derivative (13, 1)
taking derivative (15, 0)
taking derivative (14, 1)
taking derivative (16, 0)
taking derivative (15, 1)
taking derivative (17, 0)
taking derivative (16, 1)
taking derivative (18, 0)
taking derivative (17, 1)
taking derivative (19, 0)
taking derivative (18, 1)
taking derivative (20, 0)
taking derivative (19, 1)
taking derivative (21, 0)
taking derivative (20, 1)
taking derivative (22, 0)
taking derivative (21, 1)
taking derivative (23, 0)
taking derivative (22, 1)
taking derivative (24, 0)
taking derivative (23, 1)
taking derivative (25, 0)
taking derivative (24, 1)
taking derivative (0, 2)
taking derivative (1, 2)
taking derivative (2, 2)
taking derivative (3, 2)
taking derivative (4, 2)
taking derivative (5, 2)
taking derivative (6, 2)
taking derivative (7, 2)
taking derivative (8, 2)
taking derivative (9, 2)
taking derivative (10, 2)
taking derivative (11, 2)
taking derivative (12, 2)
taking derivative (13, 2)
taking derivative (14, 2)
taking derivative (15, 2)
taking derivative (16, 2)
taking derivative (17, 2)
taking derivative (18, 2)
taking derivative (19, 2)
taking derivative (20, 2)
taking derivative (21, 2)
taking derivative (22, 2)
taking derivative (23, 2)
taking derivative (26, 0)
taking derivative (25, 1)
taking derivative (24, 2)
taking derivative (27, 0)
taking derivative (26, 1)
taking derivative (25, 2)
taking derivative (28, 0)
taking derivative (27, 1)
taking derivative (26, 2)
taking derivative (29, 0)
taking derivative (28, 1)
taking derivative (27, 2)
taking derivative (30, 0)
taking derivative (29, 1)
taking derivative (28, 2)
taking derivative (31, 0)
taking derivative (30, 1)
taking derivative (29, 2)
taking derivative (32, 0)
taking derivative (31, 1)
taking derivative (30, 2)
taking derivative (33, 0)
taking derivative (32, 1)
taking derivative (31, 2)
taking derivative (34, 0)
taking derivative (33, 1)
taking derivative (32, 2)
taking derivative (35, 0)
taking derivative (34, 1)
taking derivative (33, 2)
taking derivative (36, 0)
taking derivative (35, 1)
taking derivative (34, 2)
taking derivative (37, 0)
taking derivative (36, 1)
taking derivative (35, 2)
taking derivative (38, 0)
taking derivative (37, 1)
taking derivative (36, 2)
taking derivative (39, 0)
taking derivative (38, 1)
taking derivative (37, 2)
taking derivative (40, 0)
taking derivative (39, 1)
taking derivative (38, 2)
taking derivative (41, 0)
taking derivative (40, 1)
taking derivative (39, 2)
taking derivative (42, 0)
taking derivative (41, 1)
taking derivative (40, 2)
taking derivative (43, 0)
taking derivative (42, 1)
taking derivative (41, 2)
taking derivative (44, 0)
taking derivative (43, 1)
taking derivative (42, 2)
taking derivative (45, 0)
taking derivative (44, 1)
taking derivative (43, 2)
taking derivative (46, 0)
taking derivative (45, 1)
taking derivative (44, 2)
taking derivative (47, 0)
taking derivative (46, 1)
taking derivative (45, 2)
taking derivative (48, 0)
taking derivative (47, 1)
taking derivative (46, 2)