B.4 - $\sigma(f_P)$ and $\sigma(f_P)/$E$(f_P)$, with detailed contributions to them, using the approximated Eqs. ([*])-([*])

p  = 0.1
N  = 10^7    # N >> ns --> binomial
ns = 1000
E.pi1 = 0.978;  sigma.pi1 = 0.007
E.pi2 = 0.115;  sigma.pi2 = 0.022
# E.pi2 = 0.115;  sigma.pi2 = sigma.pi1     # reduced sigma.pi2  
# E.pi2 = 1 - E.pi1; sigma.pi2 = sigma.pi1  # improved specificity

E.ps <- p
E.fP <- E.pi1*E.ps + E.pi2*(1-E.ps)

s.fP.R   <- sqrt( E.pi1*(1-E.pi1)*E.ps +  E.pi2*(1-E.pi2)*(1-E.ps) )/sqrt(ns)  
s.fP.pi1 <- sigma.pi1*E.ps
s.fP.pi2 <- sigma.pi2*(1-E.ps)
s.ps     <- sqrt(p*(1-p)*(1-ns/N))/sqrt(ns)  
s.fP.ps  <- s.ps*abs(E.pi1-E.pi2)           

s.fP.stat <- sqrt(s.fP.R^2+s.fP.ps^2)
s.fP.syst <- sqrt(s.fP.pi1^2+s.fP.pi2^2)
s.fP = sqrt(s.fP.stat^2 + s.fP.syst^2)

cat(sprintf("p = %.2f; ns = %d\n", p, ns))
cat(sprintf("E(fN) = %.3f; sigma(fN) = %.3f; sigma(fN)/E(fN) = %.2f\n",
            E.fP, s.fP, s.fP/E.fP))
cat("Contributions : \n")
cat(sprintf("    s.fP.R    =  %.3e;  s.fP.R/E.fP    = %.2e\n",
            s.fP.R, s.fP.R/E.fP))
cat(sprintf("    s.fP.p1   =  %.3e;  s.fP.p1/E.fP   = %.2e\n",
            s.fP.pi1, s.fP.pi1/E.fP))
cat(sprintf("    s.fP.p2   =  %.3e;  s.fP.p2/E.fP   = %.2e\n",
            s.fP.pi2, s.fP.pi2/E.fP))
cat(sprintf("    s.fP.ps   =  %.3e;  s.fP.ps/E.fP   = %.2e\n",
            s.fP.ps, s.fP.ps/E.fP))
cat(sprintf("    s.fP.stat =  %.3e;  s.fP.stat/E.fP = %.2e\n",
            s.fP.stat, s.fP.stat/E.fP))
cat(sprintf("    s.fP.syst =  %.3e;  s.fP.syst/E.fP = %.2e\n",
            s.fP.syst, s.fP.syst/E.fP))