Right, I've just tried it with the sectional appendices and got 39mi 34ch... Let's spell it out and see if anyone can spot where I've gone wrong (writing 3.45 for 3mi 45ch)
*snip*
0.66 + 1.73 + 13.33 + 6.66 + 16.22 + 0.14 = 39.34, by my reckoning. How did you get 40.23?
Might have got it wrong when copying the figures across, or possibly when converting from miles and chains to "decimal" miles. Here's my working out:
Common to both routes:
Birmingham New Street (112mi 73ch) - Proof House Junction (112mi 19ch) = 54ch (0.675mi) (MD301)
London Road Junction (127mi 54ch) - Derby Station (127mi 68ch) = 14ch (0.175mi) (LN3201)
via Lichfield City:
Proof House Junction (112mi 19ch) - Curzon Street Junction (112mi 7ch) = 12ch (0.15mi) (MD320)
Curzon Street Junction (0mi) - Aston South Junction (2mi 61ch) = 2mi 61ch (2.7625mi) (MD320)
Aston South Junction (1mi 60ch) - Aston North Junction (1mi 73ch) = 13ch (0.1625mi) (MD320)
Aston North Junction (0mi) - Lichfield City Junction (13mi 33ch) = 13mi 33ch (13.4125mi) (MD340)
Lichfield City Junction (16mi 47ch) - Zone Boundary (19mi) = 2mi 33ch (2.4125mi) (MD340)
Zone Boundary (19mi) - Wichnor Junction (23mi 33ch) = 4mi 33ch (4.4125mi) (LN3340)
Wichnor Junction (16mi 22ch) - London Road Junction (0mi) = 16mi 22ch (16.275mi) (LN3501)
via Tamworth:
Proof House Junction (41mi 51ch) - Water Orton East Junction (34mi 43ch) = 7mi 8ch (7.1mi) (MD501)
Water Orton East Junction (33mi 22ch) - Zone Boundary (23mi 30ch) = 9mi 72ch (9.9mi) (MD501)
Zone Boundary (23mi 30ch) - London Road Junction (0mi) = 23mi 30ch (23.375mi) (LN3501)
Adding those together:
Via Lichfield: 0.675 + 0.15 + 2.7625 + 0.1625 + 13.4125 + 2.4125 + 4.4125 + 16.275 + 0.175 = 40.4375 mi (40mi 35ch)
Via Tamworth: 0.675 + 7.1 + 9.9 + 23.375 + 0.175 = 41.225mi (41mi 18ch)
Hrm...I appear to have gained another 12 chains from somewhere.