"""Authored integer arithmetic and before/after conversion counterexample."""
import json,platform
import numpy as np
def checked_square(values):
 if len(values)>16 or any(type(x) is not int or x*x>int(np.iinfo(np.int64).max) for x in values):raise ValueError('integer result outside declared int64 budget')
 a=np.array(values,dtype=np.int64);return (a*a).tolist()
def demo():
 a=np.array([30000,-30000],dtype=np.int16);bad=a*a;after=bad.astype(np.int64);before=a.astype(np.int64);good=before*before;oracle=[int(x)**2 for x in a]
 assert bad.tolist()==after.tolist()==[-5888,-5888] and good.tolist()==oracle==[900000000,900000000]
 boundary=[]
 for x in [181,182,-181,-182]:
  narrow=np.array([x],dtype=np.int16);got=int((narrow*narrow)[0]);exact=x*x
  boundary.append({'input':x,'int16_square':got,'python_exact':exact,'within_int16_result_range':exact<=int(np.iinfo(np.int16).max)})
 assert boundary[0]['int16_square']==32761 and boundary[1]['int16_square']!=33124
 assert checked_square([30000,-30000])==oracle
 assert checked_square([0])==[0]
 after_sum=int(np.sum(bad,dtype=np.int64));assert after_sum==-11776 and sum(oracle)==1800000000
 rejects=[]
 for values in [[True],[3037000500],[1.5]]:
  try:checked_square(values)
  except ValueError:rejects.append(repr(values))
  else:raise AssertionError('out of scope')
 return {'runtime':platform.python_version(),'numpy':np.__version__,'int16_input':a.tolist(),'dtypes':{'input':str(a.dtype),'narrow_product':str(bad.dtype),'widened_corrupt_product':str(after.dtype),'widened_operand':str(before.dtype),'wide_product':str(good.dtype)},'narrow_then_widen':after.tolist(),'widen_then_square':good.tolist(),'sum_int64_of_narrow_product':after_sum,'sum_exact_product_oracle':sum(oracle),'zero_square':0,'python_integer_oracle':oracle,'int16_bounds':{'min':int(np.iinfo(np.int16).min),'max':int(np.iinfo(np.int16).max)},'boundary_cases':boundary,'rejected':rejects,'scope':'Only these integer squares and explicit int64 result budget; widening after overflow cannot recover, int64 is still bounded. No audio-quality/float-sum claims.'}
if __name__=='__main__':print(json.dumps(demo(),ensure_ascii=True,indent=2))
