"""Six finite authored permutations; exact oracle of represented input floats."""
import fractions,itertools,json,math,platform
def naive(xs):
 total=0.0
 for x in xs:total+=x
 return total
def demo():
 xs=[1e16,1.0,-1e16];exact=sum((fractions.Fraction.from_float(x) for x in xs),fractions.Fraction(0));assert exact==1
 rows=[{'values':list(p),'naive':naive(p),'builtin_sum':sum(p),'math_fsum':math.fsum(p),'exact_fraction':str(exact)} for p in itertools.permutations(xs)]
 for row in rows:row['exact_errors']={name:str(fractions.Fraction.from_float(row[name])-exact) for name in ['naive','builtin_sum','math_fsum']}
 assert rows[0]['naive']==0 and rows[0]['builtin_sum']==1 and rows[0]['math_fsum']==1
 assert {r['naive'] for r in rows}=={0,1} and all(r['math_fsum']==float(exact) for r in rows)
 tenth=sum((fractions.Fraction.from_float(x) for x in [.1,.1,.1]),fractions.Fraction(0))
 assert tenth!=fractions.Fraction(3,10)
 return {'runtime':platform.python_version(),'rows':rows,'empty_fsum':math.fsum([]),'three_binary_tenths_exact_fraction':str(tenth),'three_decimal_tenths_fraction':'3/10','scope':'Results of six finite permutations in this runtime only; no universal perfect rounding or recovery of original decimal intent.'}
if __name__=='__main__':print(json.dumps(demo(),ensure_ascii=True,indent=2))
