Skip to content

Instantly share code, notes, and snippets.

@jbellis
Created June 11, 2023 14:46
Show Gist options
  • Save jbellis/8a9c42ee8ecdf603021498deddfcc243 to your computer and use it in GitHub Desktop.
Save jbellis/8a9c42ee8ecdf603021498deddfcc243 to your computer and use it in GitHub Desktop.
Example of a 32 bit float vector whose cosine with itself is NaN if implemented with straightforward 32-bit float math
static final float[] largeVector =
new float[] {
1.2127497E-8f,
8.4071987E8f,
1.3374228E22f,
5.6472595E31f,
1.6612625E-4f,
1.5169654E7f,
2.6878713E-6f,
5.5687863E-8f,
2.5789415E-9f,
4.147732E-11f,
1.29799045E-11f,
1.9290077E-4f,
3.05143334E15f,
6.6276873E-10f,
1.34245327E13f,
4.0507486E27f,
1.4145693E-5f,
1.08738505E24f,
4.09253131E12f,
57.599087f,
0.0019772896f,
0.020570718f,
0.012848064f,
-0.01733798f,
-0.0121089555f,
-0.01733798f,
0.021593036f,
-0.0014471341f,
-0.032962885f,
-0.029067019f,
0.013552636f,
0.013552636f,
-0.023375187f,
-0.0042792344f,
0.0023675666f,
0.0053637214f,
0.017462315f,
0.003481411f,
-0.004517545f,
-0.019354988f,
-0.011570165f,
0.003609201f,
-0.019935222f,
-0.019009609f,
1.8855484E-4f,
-0.0036126545f,
0.020985171f,
-0.022283792f,
0.011397476f,
0.012481963f,
0.013808215f,
-0.005118503f,
-0.022366684f,
-0.024950111f,
-0.0028321003f,
-0.009677494f,
0.009221595f,
-0.010575476f,
0.03260369f,
-0.010126485f,
0.034344394f,
0.022200903f,
-0.0097051235f,
-0.0075016115f,
0.0346207f,
-0.013863476f,
-0.013006938f,
-0.014906517f,
-0.023665305f,
0.008116385f,
0.01736561f,
0.015265711f,
-0.03707979f,
-0.016149879f,
0.025033003f,
-0.0017873315f,
0.0015567916f,
0.0054293433f,
0.014243391f,
-0.030835355f,
0.010596199f,
0.01356645f,
-0.014823627f,
0.0063998555f,
-0.0031602094f,
0.0070008133f,
-0.0021378903f,
0.011805022f,
0.010015964f,
0.007819359f,
0.016909711f,
0.019589843f,
0.002379655f,
0.0046798727f,
0.040892765f,
-0.007950603f,
0.0040651f,
-2.8644793E-4f,
-0.006406763f,
1.4689361E-4f,
0.0061511835f,
-0.021026617f,
-0.033239186f,
0.03962177f,
0.023361372f,
-0.020460198f,
0.0097051235f,
0.0036644614f,
-0.044761f,
-8.208126E-5f,
0.0033518942f,
0.015086114f,
0.028652566f,
-0.0033052682f,
0.034537807f,
-0.011832653f,
-0.017945845f,
0.0021672475f,
0.0053844443f,
-0.0050148894f,
-0.009691308f,
0.008178553f,
-0.028984128f,
-0.009622233f,
-0.044678107f,
-0.018153071f,
0.0048560156f,
5.4569734E-4f,
0.009228502f,
6.903244E-4f,
-0.0019669281f,
0.044678107f,
-0.023775827f,
-0.0149203325f,
-0.01175667f,
-0.012903324f,
0.016163694f,
-0.028459152f,
0.008081847f,
-0.010237006f,
0.0264007f,
0.012599392f,
0.012965493f,
-0.016509071f,
0.005007982f,
0.0115218125f,
0.0060855616f,
3.4667325E-4f,
-0.021772634f,
-0.013490467f,
0.011881006f,
0.0121089555f,
0.007543057f,
0.020874651f,
-0.027326314f,
0.015555828f,
0.02022534f,
-0.008966015f,
-0.013683879f,
0.0050114356f,
0.00478694f,
0.0149203325f,
-0.017572837f,
0.0023537516f,
-0.017268904f,
0.024659995f,
0.009946888f,
0.012074417f,
-0.014892702f,
0.0058921496f,
-0.009933073f,
-0.02909465f,
-0.014022349f,
0.010416603f,
0.035698276f,
0.028652566f,
0.007549965f,
0.0034537807f,
-0.032962885f,
0.0010154116f,
0.013290148f,
0.010554754f,
0.006648528f,
0.0014497244f,
0.0061477297f,
0.023361372f,
0.03934547f,
-0.014139778f,
0.0029857934f,
-0.008579191f,
0.003148121f,
0.02319559f,
-0.015514383f,
0.011231694f,
-0.0038198815f,
0.006693427f,
0.02535075f,
-0.017407054f,
-0.003104949f,
-0.027312499f,
0.008827863f,
-0.0036920917f,
-0.003306995f,
0.028376263f,
-0.006113192f,
-0.0023364828f,
0.036499556f,
-0.014547325f,
-0.0047938474f,
3.1494163E-4f,
0.015113744f,
0.003355348f,
-0.02934332f,
-0.028707825f,
-0.6273171f,
0.009836367f,
0.0027578438f,
-0.014395358f,
-0.032852363f,
-0.0012787624f,
-0.011915543f,
0.013414484f,
-0.023582414f,
0.025709944f,
-0.007764099f,
-0.018512264f,
0.006016486f,
-0.014326283f,
-0.01679919f,
-0.022629172f,
0.008240721f,
0.005039066f,
0.0019652012f,
0.008309796f,
-0.02206275f,
0.029453842f,
0.003920041f,
0.034316763f,
0.0052083014f,
0.020777944f,
-0.01351119f,
-0.020156264f,
-0.0051392256f,
-0.019631289f,
-0.005988856f,
-0.0074601662f,
-0.006993906f,
6.916196E-4f,
0.04133485f,
-0.03473122f,
-0.018940533f,
-0.009629141f,
0.013621711f,
0.043130815f,
-0.01985233f,
-0.0067037884f,
0.01407761f,
-6.7348726E-4f,
0.0063860407f,
0.0010646279f,
0.017517576f,
0.014139778f,
0.024687624f,
-0.024991557f,
0.01189482f,
-0.0016724933f,
-0.030973505f,
-0.0035608478f,
0.0039338563f,
5.3231395E-4f,
0.02095754f,
-0.0020705415f,
0.025903355f,
-0.011687594f,
-0.015472937f,
0.009352838f,
-0.025903355f,
-0.015044669f,
-0.039013907f,
0.012737543f,
-0.0011060733f,
-0.013580265f,
-0.0027457557f,
-0.0048422003f,
-0.002913264f,
0.014851257f,
-0.0053464524f,
-0.026746077f,
-0.0019462054f,
0.006234074f,
-0.0072045866f,
-0.015113744f,
-0.013552636f,
0.018153071f,
-0.015403862f,
0.008876217f,
-0.030559052f,
-3.7732554E-4f,
0.0015f
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment