"""Independent JS 4.2 endpoint/envelope arithmetic, using published formulas. See CHECK.md for the analytic half-line bounds and the fixed-N interpretation. """ import sys sys.dont_write_bytecode=True from pathlib import Path sys.path.insert(0,str(Path(__file__).resolve().parent)) from independent_check import A,GAMMA,ULOW,save L=A('2736.86'); w=L-5*L.log(); v=w-5*w.log() C=A('3.98'); delta=A('1.3'); b=2*A('2.0452')*7 nu_page=1/(b*w.log()) nu_small=100/(w**(delta/2)*(delta*w.log())**2) beta=1-nu_page Epage=nu_page*w Esmall=nu_small*w # Ecal(exp(w))/exp(w), with alpha1=7. ecal=4*w**(A(9)/2)/v**7+4/w**(A(5)/2)+18*w*(-w/12).exp()+A('2.5')*w**(A(11)/2)*(-w/6).exp() pp=w*w*(1/(2*A(2).log()*w**5)*(-w/2).exp()+A('0.4')*w**3*(-w).exp()) mult=1+1/(L**2*w**3)+1/((1-4/w)*L) deletion=A('0.9')*(w/2-L).exp()*L**4/(w**7*L.log()) p2= A('1.1')*7*w.log()*(C+w*w*(-Epage).exp()/beta)+27*w*w*ecal+pp p1=p2+(A('0.67')+2*(-w/6).exp())/w**5 c4=(p1*mult+A('2.2')/L**2)+deletion j=A('1.3841')*7*w.log()/(7*w.log()).log() # Uniform bound for c4(N)/log N: replace w/L by 1 in every positive term. # This also allows the beta(N) denominator to be frozen at beta(w0). norm_page=A('1.1')*7*w.log()*(C/w+w*(-Epage).exp()/beta) norm_small=A('1.1')*7*w.log()*(C/w+w*(-Esmall).exp()/beta) assert norm_small < norm_page norm=norm_page+27*w*ecal+pp/w+(A('0.67')+2*(-w/6).exp())/w**6 norm=norm*mult+A('2.2')/L**3+deletion/L # Products with j(N) are decreasing as explained in CHECK.md. norm_j=norm*j # c1,c2: each nonconstant term decreases in w >= w0. c1=C+w*w*((-Epage).exp()/beta+w**7*(A('1.02')*(-w/2).exp()+3*(-2*w/3).exp())+A('9.4')*w**A('1.515')*(-A('0.8274')*w.sqrt()).exp()) c2=c1*mult+1/L**2+A('1.3841')*L**4*(-L).exp()/L.log() ll=L.log().log(); logq=(7*w.log()).log(); logdelta=(delta*w.log()).log() c3=(A('1.5')/L+(L+7*L.log())/(L-7*L.log()))*(L/w)**delta*(GAMMA.exp()*(1+delta.log()/ll)+A('2.5')/(logdelta*ll))+A('1e-1000') a1=c2*A('1.3841')*7*L.log()/(L**(2-delta)*ll*logq)+c3 afactor=ll/(L**(1+delta)*A('0.6601618158'))*(GAMMA.exp()*(A(7).log()+ll)+A('2.5')/logq) aval=a1*afactor eps=A('0.0005543'); eps1=A(1)/11; xi=A(801); cc=40*(A('0.25')-14*L.log()/L) hc=3/cc*(-cc).exp(); h10=A('0.3')*(-A(10)).exp() fmin=1-A('0.000105'); mmax=A('0.000105') case_a=40*(1-xi/L**2)*(fmin-eps*114*A(2).exp()*h10)-norm/ULOW brace=fmin-eps1*(1-fmin)-(1+eps1)*eps*114*A(2).exp()*hc-(3*eps1+aval)*(mmax+eps*114*A(2).exp()*hc)-aval-2*xi/L**2 case_b=40*brace-norm_j/ULOW gates={ 'threshold_slack':w-A('7.9').exp(), 'logH_minus_7logL':w/2-7*w.log()-7*L.log(), '7logL_minus_log1e9':7*L.log()-A(10**9).log(), 'V_factor':1-xi/L**2, 'support_log_slack':L/4-7*w.log()-A('2.5')*L.log()-400*(1+A('9e-7')/A(400).log()), 'D_over_z2_log_slack':A('0.2')*L-14*L.log(), 'Kdelta_minus_3022':w**delta-3022, 'eps_slack':1/A(74)-eps, 'prime_13_primorial_slack':w**delta-15015, 'prime_17_primorial_slack':255255-w**delta, } assert all(x>0 for x in gates.values()) assert cc>7 assert case_a>38 and case_b>5 out={'L':L,'w':w,'v':v,'c':cc,'c4_at_start':c4,'j_at_start':j,'c4_over_L_uniform':norm,'c4_j_over_L_uniform':norm_j, 'c1':c1,'c2':c2,'c3_upper':c3,'a1_upper':a1,'a_upper':aval,'h_c':hc, 'case_a_uniform_coefficient':case_a,'case_b_uniform_coefficient':case_b,'gates':gates, 'derivative_small_exponent':Esmall*(1-delta/2-2/w.log()), 'derivative_page_exponent':Epage*(1-1/w.log())} save('js_uniform.json',out) print(Path('js_uniform.json').read_text())