function [] = bintest(n00,n01,n10,n11); global n0t n1t omega q a signz; n0t = n00 + n01; n1t = n10 + n11; ntt = n0t + n1t; omega = n1t/ntt; ph0 = n01/n0t; ph1 = n11/n1t; phbar = (n01+n11)/ntt; nfac = (1/n0t)+(1/n1t); zval = (ph1-ph0)/sqrt(nfac*phbar*(1-phbar)); signz = sign(zval); q = (zval^2)*nfac; a = 1 + q*(omega^2); [pmin,fval] = fminbnd(@tailprob,0,1); zval asypv = 1 - normcdf(zval) pmin tailpr = -fval function [prb] = tailprob(p); global n0t n1t omega q a signz; prb = 0; for s0 = 0:n0t; sam0prb = binopdf(s0,n0t,p); pp0 = s0/n0t; b = q*omega*(2*pp0-1); c = -q*pp0*(1-pp0); delstr = (-b+signz*sqrt(b^2-4*a*c))/(2*a); h = n1t*(pp0+delstr); sam1prb = 1-binocdf(h,n1t,p); prb = prb + sam0prb*sam1prb; end prb = -prb;