From 76f5b9040fc429fc1f96910c9c6fdf1a073fd6f7 Mon Sep 17 00:00:00 2001 From: CrispyPin Date: Tue, 13 Aug 2024 18:03:59 +0200 Subject: [PATCH] quine golf: optimise font, 64x64 grid 4079B --- Assets/test/quine_golf.shader | 2 +- text_shader/6x6.png | Bin 8230 -> 8225 bytes text_shader/out_golfed.h | 8 ++++---- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Assets/test/quine_golf.shader b/Assets/test/quine_golf.shader index 7099f2e..76e72c1 100644 --- a/Assets/test/quine_golf.shader +++ b/Assets/test/quine_golf.shader @@ -1,4 +1,4 @@ Shader"S"{SubShader{Pass{CGPROGRAM#pragma vertex a #pragma fragment f #include"UnityCG.cginc" -struct A{float4 v:POSITION;float2 u:TEXCOORD0;UNITY_VERTEX_INPUT_INSTANCE_ID};struct V{float2 u:TEXCOORD0;float4 v:SV_POSITION;UNITY_VERTEX_OUTPUT_STEREO};V a(A v){V o;UNITY_SETUP_INSTANCE_ID(v);UNITY_INITIALIZE_OUTPUT(V,o);UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);o.v=UnityObjectToClipPos(v.v);o.u=v.u;return o;}float3 f(V U):SV_Target{const uint t[]={0x2f00576f,0x33f2c1f7,0x2f1fb204,0x1b49dda7,0x3d618237,0x42c83a2e,0x4541a121,0x53a72e14,0x1adea1c5,0x5d3cd90b,0x603c289b,0x568d5310,0x339e664f,0x62d0e527,0x51d53c3a,0x3b06de0b,0x62ec13db,0x45bce019,0x620fc24a,0x5d6c6c36,0x00f4742a,0x70a7a790,0x5bc6aa73,0x76b38992,0x7d04286b,0x5cdd77af,0x793c758e,0x4a25d683,0x6a865f87,0x8a7a6d41,0x80979732,0x3e5dcab0,0x7aab42e2,0x4386c736,0x8f2b05f5,0x3b014639,0x38a8286b,0x5cdd77af,0x793c758e,0x4a25d683,0x285ca196,0x0c38abc3,0x8ce0fa73,0x76b38992,0x7dd7e131,0x8802215d,0x793c7e9e,0x6a7c4ea1,0x8951495d,0x7fe41a29,0x005bbcb0,0x5c2c10d0,0x71e0b2d0,0x79542e24,0x78f372b0,0x7aab42e2,0x4386c736,0x9131fc1b,0x7b8dda68,0x76bb5f80,0x4d905394,0x89a6a269,0x6a7fa4e2,0x7227c8a2,0x76b440b0,0x7b8dd81f,0x966a1e78,0x8cc22484,0x831d7ba1,0x3e5dca93,0x793a255e,0x91784c1e,0x6f044498,0x6546356c,0x9cb68111,0x712516f2,0x3e72fc95,0x6f03fc1e,0x6e9eb2bd,0x3c2881d6,0x3b3ff82e,0x7e49bd4e,0x1c044410,0x91c85dac,0x735912b1,0x1b827fd6,0x38911a9a,0x5cc864f8,0x5cc9ca92,0x9a8869fd,0x718915e0,0x3bdc43e0,0x48cf55c7,0x02fdec45,0x114e19a7,0x16307b32,0x076b20e2,0x0ef5e343,0x1600e954,0x2c214599,0x2c30e687,0x027939a4,0x0528e8d4,0x056eec44,0x111f52a7,0x0ef46dd1,0x11a45131,0x02bfd142,0x076ad596,0x09ecd345,0x0288d9a7,0x0528a0a9,0x114e474a,0x02fe5131,0x052149a2,0x0c4d2181,0x13b0d341,0x04fa0892,0x0501c2a2,0x0c73b523,0x0a13e2a1,0x1640315a,0x2c28fba1,0x2c11a68a,0x075c9393,0x112f6cd1,0x2c212dd7,0x2c313093,0x0509aba2,0x09e38ce1,0x2c2948d8,0x115e04a7,0x09e40ad4,0x16866a35,0x077a2c32,0x05112ce6,0x02b804a3,0x07919b3a,0x1414d4d8,0x09dc0924,0x2c01d3e2,0x07998262,0x09e372f7,0x13a902a3,0x1881d4a8,0x0cc1d2aa,0x0ec703e3,0x16123483,0x13c702a9,0x114de398,0x0cc26997,0x0f32d255,0x18a11552,0x09e421f7,0x2c115a95,0x076c33e7,0x13af5d42,0x04fa56a3,0x02a7e2a9,0x2c0204a3,0x027a9485,0x02b031d8,0x2c118d35,0x04f23842,0x0528cf81,0x13906ba2,0x09d3eb55,0x2c30e686,0x1879d7a2,0x1609388a,0x02a1a344,0x05303b8a,0x2c219185,0x079b1342,0x2c21a998,0x164112f3,0x0c3d8093,0x2c09a341,0x18a966a2,0x04f24ff3,0x0f32d259,0x077a43f2,0x0511dd25,0x1899dfa5,0x0ef46b51,0x2c194529,0x0edd64a4,0x05217be6,0x0f3304f2,0x09e40b32,0x09e38b5a,0x11a3d396,0x0ec5f4a8,0x051996a3,0x0772f0e5,0x11a468fa,0x0ed51521,0x2c195d31,0x188990aa,0x0ee49aea,0x07dfeba2,0x02905953,0x02fded37,0x09cc7853,0x285ca196,0x075665db,0x6e9f0d36,0x7d428da6,0x00675ee2,0x86d8e0d2,0x6e66dc6f,0x5465ec19,0x9b73c677,0x0e558203,0x114ae7e0,0x91522795,0x1348ac18,0x09dc531c,0x3892c999,0xa89c8fbc,0xb248e1fd,0x9a3b993a,0x9077ae85,0x948f80bd,0x9bbb629a,0x052cf996,0xa0820695,0x0c797372,0x06ec8c1b,0x15a8e57d,0xa8926238,0x94574cd7,0x0516d142,0x7e49a43a,0x2556c6cf,0x91522795,0x15634bf9,0x0a0f4f4f,0x5ec5e876,0xa2b20e75,0x915284b6,0x7dca59c3,0x6632f6cd,0xb9081183,0x21fd79d1,0x7e4d92eb,0x5465f1c7,0x94882f25,0x9b9f5021,0xaa1900f7,0x7d2892f8,0x348353d8,0x10815451,0x21c78c1b,0x837db3f6,0x94a6f22a,0x807fee8c,0x8f64ca00,};const uint R[]={0,234663,68679,2265159,3280003,5348,7376003,3185831,233604,6592806,6600966,2234534,34023,6182,8665390,6601774,4267074,301257,134,14719239,1088809,6210,337920,4262980,5286,7642145,133250,6587686,6337838,7642409,15255086,2270697,18732593,11512810,3312673,12923174,11953,5282,72774,8661474,7465,1049633,33826,304422,567426,128,206118,131200,7407687,32641156,18470705,131204,7375911,18157905,3319079,567428,31,574788,2240642,2130978,1116225,1082415,15994959,459200,4198566,3179555,3213379,332096,145536,7168,2236546,72955190,4260932,9570592,211030020,266305};float2 p=U.u*65;uint c,i,Y,X=p.x;Y=p.y;i=X+(64-Y)*65;if(i>446&&i<3285){c=(i-447)%11;c=c<2?(c<<4)+1:c==10?18:(t[(i-447)/11]>>(7-((c-2)&7))*4&15)+1;}else{i-=(i>447)*2838;c=t[i/5];for(i%=5;i<4;i++)c/=80;c%=80;}Y=(p.y-Y)*6;X=(p.x-X)*6;return(X<5)*R[c]>>(X+Y*5)&1;}ENDCG}}} \ No newline at end of file +struct A{float4 v:POSITION;float2 u:TEXCOORD0;UNITY_VERTEX_INPUT_INSTANCE_ID};struct V{float2 u:TEXCOORD0;float4 v:SV_POSITION;UNITY_VERTEX_OUTPUT_STEREO};V a(A v){V o;UNITY_SETUP_INSTANCE_ID(v);UNITY_INITIALIZE_OUTPUT(V,o);UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);o.v=UnityObjectToClipPos(v.v);o.u=v.u;return o;}float3 f(V U):SV_Target{const uint t[]={0x2f00576f,0x33f2c1f7,0x2f1fb204,0x1b49dda7,0x3d618237,0x42c83a2e,0x4541a121,0x53a72e14,0x1adea1c5,0x5d3cd90b,0x603c289b,0x568d5310,0x339e664f,0x62d0e527,0x51d53c3a,0x3b06de0b,0x62ec13db,0x45bce019,0x620fc24a,0x5d6c6c36,0x00f4742a,0x70a7a790,0x5bc6aa73,0x76b38992,0x7d04286b,0x5cdd77af,0x793c758e,0x4a25d683,0x6a865f87,0x8a7a6d41,0x80979732,0x3e5dcab0,0x7aab42e2,0x4386c736,0x8f2b05f5,0x3b014639,0x38a8286b,0x5cdd77af,0x793c758e,0x4a25d683,0x285ca196,0x0c38abc3,0x8ce0fa73,0x76b38992,0x7dd7e131,0x8802215d,0x793c7e9e,0x6a7c4ea1,0x8951495d,0x7fe41a29,0x005bbcb0,0x5c2c10d0,0x71e0b2d0,0x79542e24,0x78f372b0,0x7aab42e2,0x4386c736,0x9131fc1b,0x7b8dda68,0x76bb5f80,0x4d905394,0x89a6a269,0x6a7fa4e2,0x7227c8a2,0x76b440b0,0x7b8dd81f,0x966a1e78,0x8cc22484,0x831d7ba1,0x3e5dca93,0x793a255e,0x91784c1e,0x6f044498,0x6546356c,0x9cb68111,0x712516f2,0x3e72fc95,0x6f03fc1e,0x6e9eb2bd,0x3c2881d6,0x3b3ff82e,0x7e49bd4e,0x1c044410,0x91c85dac,0x735912b1,0x1b827fd6,0x38911a9a,0x5cc864f8,0x5cc9ca92,0x9a8869fd,0x718915e0,0x3bdc43e0,0x48cf55c7,0x02fdec45,0x114e19a7,0x16307b32,0x076b20e2,0x0ef5e343,0x1600e954,0x2c214599,0x2c30e687,0x027939a4,0x0528e8d4,0x056eec44,0x111f52a7,0x0ef46dd1,0x11a45131,0x02bfd142,0x076ad596,0x09ecd345,0x0288d9a7,0x0528a0a9,0x114e474a,0x02fe5131,0x052149a2,0x0c4d2181,0x13b0d341,0x04fa0892,0x1147a434,0x09cc8042,0x2c01bbd9,0x1601cfa7,0x0762bea4,0x0a037af1,0x2c195d33,0x18b06ea6,0x079a04a8,0x113e5ba5,0x0f32d344,0x0781fea7,0x0eed1a39,0x11a45044,0x13ceb6e2,0x09e372f9,0x02c0e436,0x1899c389,0x2c09bd81,0x1165eda6,0x16284724,0x2c01d3e2,0x07998262,0x09e372f7,0x13a902a3,0x1881d4a8,0x0cc1d2aa,0x0ec703e3,0x16123483,0x13c702a3,0x13a05337,0x2c30ff36,0x2c01ba9a,0x1136a9a4,0x0a0a9d42,0x09cc4e93,0x07e03838,0x0c4d24a4,0x07dfeb57,0x04f286a2,0x09d3eb51,0x2c30fd58,0x115e1da3,0x09d42021,0x2c115b37,0x028262a4,0x04f98a02,0x13a809ea,0x04f362a9,0x0511ab21,0x0f330542,0x18729b32,0x0edd7993,0x168604b2,0x0ee4ff89,0x1685ebf5,0x02a82e02,0x0763045a,0x13d012a2,0x0518fbf6,0x2c11a6d4,0x056ed3ea,0x18920bea,0x2c09be27,0x027a92f1,0x18b86d38,0x2c11748a,0x0ed57ba4,0x07630548,0x18f6d437,0x0298f6a8,0x079231e2,0x139851e2,0x04f1d4d3,0x13a90483,0x189976aa,0x02fe1df7,0x02bf8502,0x1899a856,0x188332f2,0x04ea3451,0x075c92f7,0x11365b1a,0x7d04286b,0x5cdd7adf,0x6a5cfcf7,0x0dc5d4f8,0x5cc74ac9,0x2da182cf,0x54634927,0x9add12f3,0x660a727b,0x113d0e6c,0xa3ca3d19,0x28e106e5,0x0c72b559,0xafe78ce3,0x933108eb,0x66348e98,0x94b682d3,0x21aa8b83,0xb6784bc8,0x0e1064cf,0x21af57a1,0xb4ba8feb,0x5ec7a015,0x0c5ceb0b,0x04f82826,0x90504fab,0x21d86e07,0x1562b0f5,0xad674904,0x06761eda,0x3ff17c15,0x9ba006e5,0x0c7970f3,0x160175fd,0x9afe461b,0x10aea02e,0x3516080f,0x10388785,0x7dca097c,0x220d19d1,0x7cefc4b9,0x04052b6f,0x91191305,0x88224d63,0x8356fdcd,0x2ba15003,0x12a781d6,0x3b400aa5,0xaffcd10d,0x9f1d1826,0x91afc573,0x1081afd3,0x8f3532fb,0x4626dc20,};const uint R[]={0,234663,68679,2265159,3280003,5348,7376003,3185831,233604,6592806,6600966,2234534,34023,6182,8665390,6601774,4267074,301257,65,6330631,1088809,6210,337920,4262980,5286,7642145,133250,6587686,6337838,3312809,6595878,2270697,585393,11512810,3312673,12923174,11953,5282,72774,272866,7465,1049633,33826,304422,567426,32,206118,131200,7407687,231490,306601,131202,7375911,18157905,3319079,567428,31,574788,2240642,2130978,1116225,33831,15994959,229600,2099267,3179555,3213379,166048,72768,7168,1118273,72955190,4260932,9570592,211030020,266305};float2 p=U.u*64;uint c,i,Y,X=p.x;Y=p.y;i=X+(63-Y)*64;if(i>446&&i<3252){c=(i-447)%11;c=c<2?(c<<4)+1:c==10?18:(t[(i-447)/11]>>(7-((c-2)&7))*4&15)+1;}else{i-=(i>447)*2805;c=t[i/5];for(i%=5;i<4;i++)c/=80;c%=80;}Y=(p.y-Y)*6;X=(p.x-X)*6;return(X<5)*R[c]>>(X+Y*5)&1;}ENDCG}}} \ No newline at end of file diff --git a/text_shader/6x6.png b/text_shader/6x6.png index b6bd798ddc78780ce3735a9f6a0779d42c1cf80b..f14ad9c452b5d6bc2dde74eb81f49b5f82c9ad33 100644 GIT binary patch literal 8225 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 literal 8230 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 Xqk>uOwM9nA{}IXxD)ObWMj!qUm-yCT diff --git a/text_shader/out_golfed.h b/text_shader/out_golfed.h index ddea14d..e354fdc 100644 --- a/text_shader/out_golfed.h +++ b/text_shader/out_golfed.h @@ -1,5 +1,5 @@ -const uint t[]={0x2f00576f,0x33f2c1f7,0x2f1fb204,0x1b49dda7,0x3d618237,0x42c83a2e,0x4541a121,0x53a72e14,0x1adea1c5,0x5d3cd90b,0x603c289b,0x568d5310,0x339e664f,0x62d0e527,0x51d53c3a,0x3b06de0b,0x62ec13db,0x45bce019,0x620fc24a,0x5d6c6c36,0x00f4742a,0x70a7a790,0x5bc6aa73,0x76b38992,0x7d04286b,0x5cdd77af,0x793c758e,0x4a25d683,0x6a865f87,0x8a7a6d41,0x80979732,0x3e5dcab0,0x7aab42e2,0x4386c736,0x8f2b05f5,0x3b014639,0x38a8286b,0x5cdd77af,0x793c758e,0x4a25d683,0x285ca196,0x0c38abc3,0x8ce0fa73,0x76b38992,0x7dd7e131,0x8802215d,0x793c7e9e,0x6a7c4ea1,0x8951495d,0x7fe41a29,0x005bbcb0,0x5c2c10d0,0x71e0b2d0,0x79542e24,0x78f372b0,0x7aab42e2,0x4386c736,0x9131fc1b,0x7b8dda68,0x76bb5f80,0x4d905394,0x89a6a269,0x6a7fa4e2,0x7227c8a2,0x76b440b0,0x7b8dd81f,0x966a1e78,0x8cc22484,0x831d7ba1,0x3e5dca93,0x793a255e,0x91784c1e,0x6f044498,0x6546356c,0x9cb68111,0x712516f2,0x3e72fc95,0x6f03fc1e,0x6e9eb2bd,0x3c2881d6,0x3b3ff82e,0x7e49bd4e,0x1c044410,0x91c85dac,0x735912b1,0x1b827fd6,0x38911a9a,0x5cc864f8,0x5cc9ca92,0x9a8869fd,0x718915e0,0x3bdc43e0,0x48cf55c7,0x02fdec45,0x114e19a7,0x16307b32,0x076b20e2,0x0ef5e343,0x1600e954,0x2c214599,0x2c30e687,0x027939a4,0x0528e8d4,0x056eec44,0x111f52a7,0x0ef46dd1,0x11a45131,0x02bfd142,0x076ad596,0x09ecd345,0x0288d9a7,0x0528a0a9,0x114e474a,0x02fe5131,0x052149a2,0x0c4d2181,0x13b0d341,0x04fa0892,0x0501c2a2,0x0c73b523,0x0a13e2a1,0x1640315a,0x2c28fba1,0x2c11a68a,0x075c9393,0x112f6cd1,0x2c212dd7,0x2c313093,0x0509aba2,0x09e38ce1,0x2c2948d8,0x115e04a7,0x09e40ad4,0x16866a35,0x077a2c32,0x05112ce6,0x02b804a3,0x07919b3a,0x1414d4d8,0x09dc0924,0x2c01d3e2,0x07998262,0x09e372f7,0x13a902a3,0x1881d4a8,0x0cc1d2aa,0x0ec703e3,0x16123483,0x13c702a9,0x114de398,0x0cc26997,0x0f32d255,0x18a11552,0x09e421f7,0x2c115a95,0x076c33e7,0x13af5d42,0x04fa56a3,0x02a7e2a9,0x2c0204a3,0x027a9485,0x02b031d8,0x2c118d35,0x04f23842,0x0528cf81,0x13906ba2,0x09d3eb55,0x2c30e686,0x1879d7a2,0x1609388a,0x02a1a344,0x05303b8a,0x2c219185,0x079b1342,0x2c21a998,0x164112f3,0x0c3d8093,0x2c09a341,0x18a966a2,0x04f24ff3,0x0f32d259,0x077a43f2,0x0511dd25,0x1899dfa5,0x0ef46b51,0x2c194529,0x0edd64a4,0x05217be6,0x0f3304f2,0x09e40b32,0x09e38b5a,0x11a3d396,0x0ec5f4a8,0x051996a3,0x0772f0e5,0x11a468fa,0x0ed51521,0x2c195d31,0x188990aa,0x0ee49aea,0x07dfeba2,0x02905953,0x02fded37,0x09cc7853,0x285ca196,0x075665db,0x6e9f0d36,0x7d428da6,0x00675ee2,0x86d8e0d2,0x6e66dc6f,0x5465ec19,0x9b73c677,0x0e558203,0x114ae7e0,0x91522795,0x1348ac18,0x09dc531c,0x3892c999,0xa89c8fbc,0xb248e1fd,0x9a3b993a,0x9077ae85,0x948f80bd,0x9bbb629a,0x052cf996,0xa0820695,0x0c797372,0x06ec8c1b,0x15a8e57d,0xa8926238,0x94574cd7,0x0516d142,0x7e49a43a,0x2556c6cf,0x91522795,0x15634bf9,0x0a0f4f4f,0x5ec5e876,0xa2b20e75,0x915284b6,0x7dca59c3,0x6632f6cd,0xb9081183,0x21fd79d1,0x7e4d92eb,0x5465f1c7,0x94882f25,0x9b9f5021,0xaa1900f7,0x7d2892f8,0x348353d8,0x10815451,0x21c78c1b,0x837db3f6,0x94a6f22a,0x807fee8c,0x8f64ca00,}; +const uint t[]={0x2f00576f,0x33f2c1f7,0x2f1fb204,0x1b49dda7,0x3d618237,0x42c83a2e,0x4541a121,0x53a72e14,0x1adea1c5,0x5d3cd90b,0x603c289b,0x568d5310,0x339e664f,0x62d0e527,0x51d53c3a,0x3b06de0b,0x62ec13db,0x45bce019,0x620fc24a,0x5d6c6c36,0x00f4742a,0x70a7a790,0x5bc6aa73,0x76b38992,0x7d04286b,0x5cdd77af,0x793c758e,0x4a25d683,0x6a865f87,0x8a7a6d41,0x80979732,0x3e5dcab0,0x7aab42e2,0x4386c736,0x8f2b05f5,0x3b014639,0x38a8286b,0x5cdd77af,0x793c758e,0x4a25d683,0x285ca196,0x0c38abc3,0x8ce0fa73,0x76b38992,0x7dd7e131,0x8802215d,0x793c7e9e,0x6a7c4ea1,0x8951495d,0x7fe41a29,0x005bbcb0,0x5c2c10d0,0x71e0b2d0,0x79542e24,0x78f372b0,0x7aab42e2,0x4386c736,0x9131fc1b,0x7b8dda68,0x76bb5f80,0x4d905394,0x89a6a269,0x6a7fa4e2,0x7227c8a2,0x76b440b0,0x7b8dd81f,0x966a1e78,0x8cc22484,0x831d7ba1,0x3e5dca93,0x793a255e,0x91784c1e,0x6f044498,0x6546356c,0x9cb68111,0x712516f2,0x3e72fc95,0x6f03fc1e,0x6e9eb2bd,0x3c2881d6,0x3b3ff82e,0x7e49bd4e,0x1c044410,0x91c85dac,0x735912b1,0x1b827fd6,0x38911a9a,0x5cc864f8,0x5cc9ca92,0x9a8869fd,0x718915e0,0x3bdc43e0,0x48cf55c7,0x02fdec45,0x114e19a7,0x16307b32,0x076b20e2,0x0ef5e343,0x1600e954,0x2c214599,0x2c30e687,0x027939a4,0x0528e8d4,0x056eec44,0x111f52a7,0x0ef46dd1,0x11a45131,0x02bfd142,0x076ad596,0x09ecd345,0x0288d9a7,0x0528a0a9,0x114e474a,0x02fe5131,0x052149a2,0x0c4d2181,0x13b0d341,0x04fa0892,0x1147a434,0x09cc8042,0x2c01bbd9,0x1601cfa7,0x0762bea4,0x0a037af1,0x2c195d33,0x18b06ea6,0x079a04a8,0x113e5ba5,0x0f32d344,0x0781fea7,0x0eed1a39,0x11a45044,0x13ceb6e2,0x09e372f9,0x02c0e436,0x1899c389,0x2c09bd81,0x1165eda6,0x16284724,0x2c01d3e2,0x07998262,0x09e372f7,0x13a902a3,0x1881d4a8,0x0cc1d2aa,0x0ec703e3,0x16123483,0x13c702a3,0x13a05337,0x2c30ff36,0x2c01ba9a,0x1136a9a4,0x0a0a9d42,0x09cc4e93,0x07e03838,0x0c4d24a4,0x07dfeb57,0x04f286a2,0x09d3eb51,0x2c30fd58,0x115e1da3,0x09d42021,0x2c115b37,0x028262a4,0x04f98a02,0x13a809ea,0x04f362a9,0x0511ab21,0x0f330542,0x18729b32,0x0edd7993,0x168604b2,0x0ee4ff89,0x1685ebf5,0x02a82e02,0x0763045a,0x13d012a2,0x0518fbf6,0x2c11a6d4,0x056ed3ea,0x18920bea,0x2c09be27,0x027a92f1,0x18b86d38,0x2c11748a,0x0ed57ba4,0x07630548,0x18f6d437,0x0298f6a8,0x079231e2,0x139851e2,0x04f1d4d3,0x13a90483,0x189976aa,0x02fe1df7,0x02bf8502,0x1899a856,0x188332f2,0x04ea3451,0x075c92f7,0x11365b1a,0x7d04286b,0x5cdd7adf,0x6a5cfcf7,0x0dc5d4f8,0x5cc74ac9,0x2da182cf,0x54634927,0x9add12f3,0x660a727b,0x113d0e6c,0xa3ca3d19,0x28e106e5,0x0c72b559,0xafe78ce3,0x933108eb,0x66348e98,0x94b682d3,0x21aa8b83,0xb6784bc8,0x0e1064cf,0x21af57a1,0xb4ba8feb,0x5ec7a015,0x0c5ceb0b,0x04f82826,0x90504fab,0x21d86e07,0x1562b0f5,0xad674904,0x06761eda,0x3ff17c15,0x9ba006e5,0x0c7970f3,0x160175fd,0x9afe461b,0x10aea02e,0x3516080f,0x10388785,0x7dca097c,0x220d19d1,0x7cefc4b9,0x04052b6f,0x91191305,0x88224d63,0x8356fdcd,0x2ba15003,0x12a781d6,0x3b400aa5,0xaffcd10d,0x9f1d1826,0x91afc573,0x1081afd3,0x8f3532fb,0x4626dc20,}; b=447; -uint magic_number_L_plus_b= 3285; -uint magic_number_L= 2838; -const uint R[]={0,234663,68679,2265159,3280003,5348,7376003,3185831,233604,6592806,6600966,2234534,34023,6182,8665390,6601774,4267074,301257,134,14719239,1088809,6210,337920,4262980,5286,7642145,133250,6587686,6337838,7642409,15255086,2270697,18732593,11512810,3312673,12923174,11953,5282,72774,8661474,7465,1049633,33826,304422,567426,128,206118,131200,7407687,32641156,18470705,131204,7375911,18157905,3319079,567428,31,574788,2240642,2130978,1116225,1082415,15994959,459200,4198566,3179555,3213379,332096,145536,7168,2236546,72955190,4260932,9570592,211030020,266305}; +uint magic_number_L_plus_b= 3252; +uint magic_number_L= 2805; +const uint R[]={0,234663,68679,2265159,3280003,5348,7376003,3185831,233604,6592806,6600966,2234534,34023,6182,8665390,6601774,4267074,301257,65,6330631,1088809,6210,337920,4262980,5286,7642145,133250,6587686,6337838,3312809,6595878,2270697,585393,11512810,3312673,12923174,11953,5282,72774,272866,7465,1049633,33826,304422,567426,32,206118,131200,7407687,231490,306601,131202,7375911,18157905,3319079,567428,31,574788,2240642,2130978,1116225,33831,15994959,229600,2099267,3179555,3213379,166048,72768,7168,1118273,72955190,4260932,9570592,211030020,266305};