Part 1: completely dependent A_h (d = 2), D_1(A_h, B_N) vs bound ||H - P_N H||_1 + 1/N
  W: h=1-x
    N=  1 D1~0.500000  ||H-PH||~0.333333  bound~1.333333  max|margin-1/N|=0.0e+00  OK  exact 1/(2N)=0.500000
    N=  2 D1~0.250000  ||H-PH||~0.166667  bound~0.666667  max|margin-1/N|=0.0e+00  OK  exact 1/(2N)=0.250000
    N=  3 D1~0.166667  ||H-PH||~0.111111  bound~0.444444  max|margin-1/N|=7.6e-15  OK  exact 1/(2N)=0.166667
    N=  5 D1~0.100000  ||H-PH||~0.066667  bound~0.266667  max|margin-1/N|=1.2e-14  OK  exact 1/(2N)=0.100000
    N=  8 D1~0.062500  ||H-PH||~0.041667  bound~0.166667  max|margin-1/N|=0.0e+00  OK  exact 1/(2N)=0.062500
    N= 13 D1~0.038462  ||H-PH||~0.025641  bound~0.102564  max|margin-1/N|=1.9e-16  OK  exact 1/(2N)=0.038462
    N= 32 D1~0.015625  ||H-PH||~0.010417  bound~0.041667  max|margin-1/N|=0.0e+00  OK  exact 1/(2N)=0.015625
    N= 64 D1~0.007812  ||H-PH||~0.005208  bound~0.020833  max|margin-1/N|=0.0e+00  OK  exact 1/(2N)=0.007812
  doubling: h=2x mod 1
    N=  1 D1~0.250000  ||H-PH||~0.333333  bound~1.333333  max|margin-1/N|=0.0e+00  OK
    N=  2 D1~0.250000  ||H-PH||~0.333333  bound~0.833333  max|margin-1/N|=0.0e+00  OK
    N=  3 D1~0.249997  ||H-PH||~0.277778  bound~0.611111  max|margin-1/N|=3.8e-15  OK
    N=  5 D1~0.170004  ||H-PH||~0.193336  bound~0.393336  max|margin-1/N|=7.2e-15  OK
    N=  8 D1~0.062500  ||H-PH||~0.083333  bound~0.208333  max|margin-1/N|=0.0e+00  OK
    N= 13 D1~0.072477  ||H-PH||~0.083819  bound~0.160742  max|margin-1/N|=1.1e-16  OK
    N= 32 D1~0.015625  ||H-PH||~0.020833  bound~0.052083  max|margin-1/N|=0.0e+00  OK
    N= 64 D1~0.007812  ||H-PH||~0.010417  bound~0.026042  max|margin-1/N|=0.0e+00  OK
  random 16-piece shuffle
    N=  1 D1~0.361328  ||H-PH||~0.333333  bound~1.333333  max|margin-1/N|=0.0e+00  OK
    N=  2 D1~0.356445  ||H-PH||~0.322917  bound~0.822917  max|margin-1/N|=0.0e+00  OK
    N=  3 D1~0.301162  ||H-PH||~0.287872  bound~0.621205  max|margin-1/N|=4.5e-15  OK
    N=  5 D1~0.295559  ||H-PH||~0.287877  bound~0.487877  max|margin-1/N|=7.2e-15  OK
    N=  8 D1~0.237305  ||H-PH||~0.229167  bound~0.354167  max|margin-1/N|=0.0e+00  OK
    N= 13 D1~0.173870  ||H-PH||~0.165398  bound~0.242321  max|margin-1/N|=3.4e-15  OK
    N= 32 D1~0.010742  ||H-PH||~0.010417  bound~0.041667  max|margin-1/N|=0.0e+00  OK
    N= 64 D1~0.005371  ||H-PH||~0.005208  bound~0.020833  max|margin-1/N|=0.0e+00  OK
Part 2: D_1(Pi_3, B_N), d = 3 (semi-analytic); N = 1 should be 19/60 = 0.316667
  N=1: D1(Pi3,B_N)~0.316667  N*D1~0.316667  bound 2/N=2.0000  OK
  N=2: D1(Pi3,B_N)~0.152130  N*D1~0.304260  bound 2/N=1.0000  OK
  N=3: D1(Pi3,B_N)~0.100532  N*D1~0.301596  bound 2/N=0.6667  OK
  N=4: D1(Pi3,B_N)~0.075151  N*D1~0.300603  bound 2/N=0.5000  OK
  N=6: D1(Pi3,B_N)~0.049977  N*D1~0.299863  bound 2/N=0.3333  OK
  N=8: D1(Pi3,B_N)~0.037449  N*D1~0.299595  bound 2/N=0.2500  OK
Part 3: random 3-d checkerboards A (grid M), D_1(A,B_N) vs ||H_A - P_N H_A||_1 + 2/N (midpoint rule)
  M=2 N=3: margins err=1.1e-16  D1~0.11932  ||H-PH||~0.02370  ||PH-HB||~0.10241  bound~0.69036  OK
  M=3 N=4: margins err=8.3e-17  D1~0.12931  ||H-PH||~0.07973  ||PH-HB||~0.07842  bound~0.57973  OK
  M=4 N=6: margins err=1.1e-16  D1~0.08289  ||H-PH||~0.04807  ||PH-HB||~0.05297  bound~0.38140  OK
  M=5 N=3: margins err=5.6e-17  D1~0.13884  ||H-PH||~0.07992  ||PH-HB||~0.10439  bound~0.74658  OK
  M=6 N=8: margins err=4.2e-17  D1~0.07742  ||H-PH||~0.04859  ||PH-HB||~0.03989  bound~0.29859  OK
  M=3 N=5: margins err=8.3e-17  D1~0.11374  ||H-PH||~0.07316  ||PH-HB||~0.06374  bound~0.47316  OK
ALL NUMERIC CHECKS OK
