lower end (Case A/C interface, s = s(a*)): P(q, s(a*(q))) = 0 at q = 0.362494009283; a*(q) = 0.29238569
upper end (Case C/B interface, s = s(a_B)): P(q, s(a_B(q))) = 0 at q = 0.371918511532; a_B(q) = 0.73067348
=> the BF3 method with optimal threshold works exactly for q >= 0.3719185115 (bracketed roots), the binding constraint being the upper end
  q=0.36: a*=0.288633, a_B=0.8, P(s(a*))=0.0043444, P(s(a_B))=2.0564
  q=0.365: a*=0.296111, a_B=0.769697, P(s(a*))=-0.0044174, P(s(a_B))=0.84327
  q=0.37: a*=0.303402, a_B=0.741176, P(s(a*))=-0.013367, P(s(a_B))=0.1719
  q=0.371: a*=0.304837, a_B=0.735673, P(s(a*))=-0.015176, P(s(a_B))=0.077682
  q=0.372: a*=0.306264, a_B=0.730233, P(s(a*))=-0.016991, P(s(a_B))=-0.0065121
  q=0.373: a*=0.307683, a_B=0.724855, P(s(a*))=-0.018811, P(s(a_B))=-0.081751
  q=0.375: a*=0.310497, a_B=0.714286, P(s(a*))=-0.022464, P(s(a_B))=-0.20902
