#ifndef __FOURIER_WATER_TWIDDLES_INC #define __FOURIER_WATER_TWIDDLES_INC // W_N^k = exp(-2*pi*i*k/N). #if defined(_FFT_SIZE_1) static const float2 kTwiddles[1] = { float2(1, 0), }; #elif defined(_FFT_SIZE_2) static const float2 kTwiddles[2] = { float2(1, 0), float2(-1, 0), }; #elif defined(_FFT_SIZE_4) static const float2 kTwiddles[4] = { float2(1, 0), float2(0, -1), float2(-1, 0), float2(0, 1), }; #elif defined(_FFT_SIZE_8) static const float2 kTwiddles[8] = { float2(1, 0), float2(0.70710678118654757, -0.70710678118654746), float2(0, -1), float2(-0.70710678118654746, -0.70710678118654757), float2(-1, 0), float2(-0.70710678118654768, 0.70710678118654746), float2(0, 1), float2(0.70710678118654735, 0.70710678118654768), }; #elif defined(_FFT_SIZE_16) static const float2 kTwiddles[16] = { float2(1, 0), float2(0.92387953251128674, -0.38268343236508978), float2(0.70710678118654757, -0.70710678118654746), float2(0.38268343236508984, -0.92387953251128674), float2(0, -1), float2(-0.38268343236508973, -0.92387953251128674), float2(-0.70710678118654746, -0.70710678118654757), float2(-0.92387953251128674, -0.38268343236508989), float2(-1, 0), float2(-0.92387953251128685, 0.38268343236508967), float2(-0.70710678118654768, 0.70710678118654746), float2(-0.38268343236509034, 0.92387953251128652), float2(0, 1), float2(0.38268343236509, 0.92387953251128663), float2(0.70710678118654735, 0.70710678118654768), float2(0.92387953251128652, 0.38268343236509039), }; #elif defined(_FFT_SIZE_32) static const float2 kTwiddles[32] = { float2(1, 0), float2(0.98078528040323043, -0.19509032201612825), float2(0.92387953251128674, -0.38268343236508978), float2(0.83146961230254524, -0.55557023301960218), float2(0.70710678118654757, -0.70710678118654746), float2(0.55557023301960229, -0.83146961230254524), float2(0.38268343236508984, -0.92387953251128674), float2(0.19509032201612833, -0.98078528040323043), float2(0, -1), float2(-0.19509032201612819, -0.98078528040323043), float2(-0.38268343236508973, -0.92387953251128674), float2(-0.55557023301960196, -0.83146961230254546), float2(-0.70710678118654746, -0.70710678118654757), float2(-0.83146961230254535, -0.55557023301960218), float2(-0.92387953251128674, -0.38268343236508989), float2(-0.98078528040323043, -0.19509032201612861), float2(-1, 0), float2(-0.98078528040323043, 0.19509032201612836), float2(-0.92387953251128685, 0.38268343236508967), float2(-0.83146961230254546, 0.55557023301960196), float2(-0.70710678118654768, 0.70710678118654746), float2(-0.55557023301960218, 0.83146961230254524), float2(-0.38268343236509034, 0.92387953251128652), float2(-0.19509032201612866, 0.98078528040323032), float2(0, 1), float2(0.1950903220161283, 0.98078528040323043), float2(0.38268343236509, 0.92387953251128663), float2(0.55557023301960184, 0.83146961230254546), float2(0.70710678118654735, 0.70710678118654768), float2(0.83146961230254524, 0.55557023301960218), float2(0.92387953251128652, 0.38268343236509039), float2(0.98078528040323032, 0.19509032201612872), }; #elif defined(_FFT_SIZE_64) static const float2 kTwiddles[64] = { float2(1, 0), float2(0.99518472667219693, -0.098017140329560604), float2(0.98078528040323043, -0.19509032201612825), float2(0.95694033573220882, -0.29028467725446233), float2(0.92387953251128674, -0.38268343236508978), float2(0.88192126434835505, -0.47139673682599764), float2(0.83146961230254524, -0.55557023301960218), float2(0.77301045336273699, -0.63439328416364549), float2(0.70710678118654757, -0.70710678118654746), float2(0.63439328416364549, -0.77301045336273699), float2(0.55557023301960229, -0.83146961230254524), float2(0.47139673682599781, -0.88192126434835494), float2(0.38268343236508984, -0.92387953251128674), float2(0.29028467725446233, -0.95694033573220894), float2(0.19509032201612833, -0.98078528040323043), float2(0.09801714032956077, -0.99518472667219682), float2(0, -1), float2(-0.098017140329560645, -0.99518472667219693), float2(-0.19509032201612819, -0.98078528040323043), float2(-0.29028467725446216, -0.95694033573220894), float2(-0.38268343236508973, -0.92387953251128674), float2(-0.4713967368259977, -0.88192126434835505), float2(-0.55557023301960196, -0.83146961230254546), float2(-0.63439328416364538, -0.7730104533627371), float2(-0.70710678118654746, -0.70710678118654757), float2(-0.77301045336273699, -0.63439328416364549), float2(-0.83146961230254535, -0.55557023301960218), float2(-0.88192126434835494, -0.47139673682599786), float2(-0.92387953251128674, -0.38268343236508989), float2(-0.95694033573220882, -0.29028467725446239), float2(-0.98078528040323043, -0.19509032201612861), float2(-0.99518472667219682, -0.098017140329560826), float2(-1, 0), float2(-0.99518472667219693, 0.09801714032956059), float2(-0.98078528040323043, 0.19509032201612836), float2(-0.95694033573220894, 0.29028467725446211), float2(-0.92387953251128685, 0.38268343236508967), float2(-0.88192126434835505, 0.47139673682599764), float2(-0.83146961230254546, 0.55557023301960196), float2(-0.7730104533627371, 0.63439328416364527), float2(-0.70710678118654768, 0.70710678118654746), float2(-0.63439328416364593, 0.77301045336273666), float2(-0.55557023301960218, 0.83146961230254524), float2(-0.47139673682599786, 0.88192126434835494), float2(-0.38268343236509034, 0.92387953251128652), float2(-0.29028467725446244, 0.95694033573220882), float2(-0.19509032201612866, 0.98078528040323032), float2(-0.098017140329560451, 0.99518472667219693), float2(0, 1), float2(0.09801714032956009, 0.99518472667219693), float2(0.1950903220161283, 0.98078528040323043), float2(0.29028467725446205, 0.95694033573220894), float2(0.38268343236509, 0.92387953251128663), float2(0.47139673682599759, 0.88192126434835505), float2(0.55557023301960184, 0.83146961230254546), float2(0.6343932841636456, 0.77301045336273688), float2(0.70710678118654735, 0.70710678118654768), float2(0.77301045336273666, 0.63439328416364593), float2(0.83146961230254524, 0.55557023301960218), float2(0.88192126434835483, 0.47139673682599792), float2(0.92387953251128652, 0.38268343236509039), float2(0.95694033573220882, 0.2902846772544625), float2(0.98078528040323032, 0.19509032201612872), float2(0.99518472667219693, 0.098017140329560506), }; #elif defined(_FFT_SIZE_128) static const float2 kTwiddles[128] = { float2(1, 0), float2(0.99879545620517241, -0.049067674327418015), float2(0.99518472667219693, -0.098017140329560604), float2(0.98917650996478101, -0.14673047445536175), float2(0.98078528040323043, -0.19509032201612825), float2(0.97003125319454397, -0.24298017990326387), float2(0.95694033573220882, -0.29028467725446233), float2(0.94154406518302081, -0.33688985339222005), float2(0.92387953251128674, -0.38268343236508978), float2(0.90398929312344334, -0.42755509343028208), float2(0.88192126434835505, -0.47139673682599764), float2(0.85772861000027212, -0.51410274419322166), float2(0.83146961230254524, -0.55557023301960218), float2(0.80320753148064494, -0.59569930449243336), float2(0.77301045336273699, -0.63439328416364549), float2(0.74095112535495911, -0.67155895484701833), float2(0.70710678118654757, -0.70710678118654746), float2(0.67155895484701833, -0.74095112535495911), float2(0.63439328416364549, -0.77301045336273699), float2(0.59569930449243347, -0.80320753148064483), float2(0.55557023301960229, -0.83146961230254524), float2(0.51410274419322166, -0.85772861000027212), float2(0.47139673682599781, -0.88192126434835494), float2(0.4275550934302822, -0.90398929312344334), float2(0.38268343236508984, -0.92387953251128674), float2(0.33688985339222005, -0.94154406518302081), float2(0.29028467725446233, -0.95694033573220894), float2(0.24298017990326398, -0.97003125319454397), float2(0.19509032201612833, -0.98078528040323043), float2(0.14673047445536175, -0.98917650996478101), float2(0.09801714032956077, -0.99518472667219682), float2(0.049067674327418126, -0.99879545620517241), float2(0, -1), float2(-0.049067674327418008, -0.99879545620517241), float2(-0.098017140329560645, -0.99518472667219693), float2(-0.14673047445536164, -0.98917650996478101), float2(-0.19509032201612819, -0.98078528040323043), float2(-0.24298017990326387, -0.97003125319454397), float2(-0.29028467725446216, -0.95694033573220894), float2(-0.33688985339221994, -0.94154406518302081), float2(-0.38268343236508973, -0.92387953251128674), float2(-0.42755509343028186, -0.90398929312344345), float2(-0.4713967368259977, -0.88192126434835505), float2(-0.51410274419322166, -0.85772861000027212), float2(-0.55557023301960196, -0.83146961230254546), float2(-0.59569930449243336, -0.80320753148064494), float2(-0.63439328416364538, -0.7730104533627371), float2(-0.67155895484701844, -0.74095112535495899), float2(-0.70710678118654746, -0.70710678118654757), float2(-0.74095112535495888, -0.67155895484701855), float2(-0.77301045336273699, -0.63439328416364549), float2(-0.80320753148064483, -0.59569930449243347), float2(-0.83146961230254535, -0.55557023301960218), float2(-0.85772861000027201, -0.51410274419322177), float2(-0.88192126434835494, -0.47139673682599786), float2(-0.90398929312344334, -0.42755509343028203), float2(-0.92387953251128674, -0.38268343236508989), float2(-0.9415440651830207, -0.33688985339222033), float2(-0.95694033573220882, -0.29028467725446239), float2(-0.97003125319454397, -0.24298017990326407), float2(-0.98078528040323043, -0.19509032201612861), float2(-0.98917650996478101, -0.1467304744553618), float2(-0.99518472667219682, -0.098017140329560826), float2(-0.99879545620517241, -0.049067674327417966), float2(-1, 0), float2(-0.99879545620517241, 0.049067674327417724), float2(-0.99518472667219693, 0.09801714032956059), float2(-0.98917650996478101, 0.14673047445536158), float2(-0.98078528040323043, 0.19509032201612836), float2(-0.97003125319454397, 0.24298017990326382), float2(-0.95694033573220894, 0.29028467725446211), float2(-0.94154406518302081, 0.33688985339222011), float2(-0.92387953251128685, 0.38268343236508967), float2(-0.90398929312344345, 0.42755509343028181), float2(-0.88192126434835505, 0.47139673682599764), float2(-0.85772861000027212, 0.51410274419322155), float2(-0.83146961230254546, 0.55557023301960196), float2(-0.80320753148064494, 0.59569930449243325), float2(-0.7730104533627371, 0.63439328416364527), float2(-0.74095112535495911, 0.67155895484701844), float2(-0.70710678118654768, 0.70710678118654746), float2(-0.67155895484701866, 0.74095112535495888), float2(-0.63439328416364593, 0.77301045336273666), float2(-0.59569930449243313, 0.80320753148064505), float2(-0.55557023301960218, 0.83146961230254524), float2(-0.51410274419322177, 0.85772861000027201), float2(-0.47139673682599786, 0.88192126434835494), float2(-0.42755509343028247, 0.90398929312344312), float2(-0.38268343236509034, 0.92387953251128652), float2(-0.33688985339221994, 0.94154406518302081), float2(-0.29028467725446244, 0.95694033573220882), float2(-0.24298017990326412, 0.97003125319454397), float2(-0.19509032201612866, 0.98078528040323032), float2(-0.1467304744553623, 0.9891765099647809), float2(-0.098017140329560451, 0.99518472667219693), float2(-0.049067674327418029, 0.99879545620517241), float2(0, 1), float2(0.049067674327417661, 0.99879545620517241), float2(0.09801714032956009, 0.99518472667219693), float2(0.14673047445536194, 0.9891765099647809), float2(0.1950903220161283, 0.98078528040323043), float2(0.24298017990326376, 0.97003125319454397), float2(0.29028467725446205, 0.95694033573220894), float2(0.33688985339221961, 0.94154406518302092), float2(0.38268343236509, 0.92387953251128663), float2(0.42755509343028214, 0.90398929312344334), float2(0.47139673682599759, 0.88192126434835505), float2(0.51410274419322155, 0.85772861000027223), float2(0.55557023301960184, 0.83146961230254546), float2(0.59569930449243291, 0.80320753148064528), float2(0.6343932841636456, 0.77301045336273688), float2(0.67155895484701833, 0.74095112535495911), float2(0.70710678118654735, 0.70710678118654768), float2(0.74095112535495888, 0.67155895484701866), float2(0.77301045336273666, 0.63439328416364593), float2(0.80320753148064505, 0.59569930449243325), float2(0.83146961230254524, 0.55557023301960218), float2(0.85772861000027201, 0.51410274419322188), float2(0.88192126434835483, 0.47139673682599792), float2(0.90398929312344312, 0.42755509343028253), float2(0.92387953251128652, 0.38268343236509039), float2(0.94154406518302081, 0.33688985339222), float2(0.95694033573220882, 0.2902846772544625), float2(0.97003125319454397, 0.24298017990326418), float2(0.98078528040323032, 0.19509032201612872), float2(0.9891765099647809, 0.14673047445536239), float2(0.99518472667219693, 0.098017140329560506), float2(0.99879545620517241, 0.049067674327418091), }; #elif defined(_FFT_SIZE_256) static const float2 kTwiddles[256] = { float2(1, 0), float2(0.99969881869620425, -0.024541228522912288), float2(0.99879545620517241, -0.049067674327418015), float2(0.99729045667869021, -0.073564563599667426), float2(0.99518472667219693, -0.098017140329560604), float2(0.99247953459870997, -0.1224106751992162), float2(0.98917650996478101, -0.14673047445536175), float2(0.98527764238894122, -0.17096188876030122), float2(0.98078528040323043, -0.19509032201612825), float2(0.97570213003852857, -0.2191012401568698), float2(0.97003125319454397, -0.24298017990326387), float2(0.96377606579543984, -0.26671275747489837), float2(0.95694033573220882, -0.29028467725446233), float2(0.94952818059303667, -0.31368174039889152), float2(0.94154406518302081, -0.33688985339222005), float2(0.93299279883473896, -0.35989503653498811), float2(0.92387953251128674, -0.38268343236508978), float2(0.91420975570353069, -0.40524131400498986), float2(0.90398929312344334, -0.42755509343028208), float2(0.89322430119551532, -0.44961132965460654), float2(0.88192126434835505, -0.47139673682599764), float2(0.87008699110871146, -0.49289819222978404), float2(0.85772861000027212, -0.51410274419322166), float2(0.84485356524970712, -0.53499761988709715), float2(0.83146961230254524, -0.55557023301960218), float2(0.81758481315158371, -0.57580819141784534), float2(0.80320753148064494, -0.59569930449243336), float2(0.78834642762660634, -0.61523159058062682), float2(0.77301045336273699, -0.63439328416364549), float2(0.75720884650648457, -0.65317284295377676), float2(0.74095112535495911, -0.67155895484701833), float2(0.724247082951467, -0.68954054473706683), float2(0.70710678118654757, -0.70710678118654746), float2(0.68954054473706694, -0.72424708295146689), float2(0.67155895484701833, -0.74095112535495911), float2(0.65317284295377676, -0.75720884650648446), float2(0.63439328416364549, -0.77301045336273699), float2(0.61523159058062682, -0.78834642762660623), float2(0.59569930449243347, -0.80320753148064483), float2(0.57580819141784534, -0.81758481315158371), float2(0.55557023301960229, -0.83146961230254524), float2(0.53499761988709726, -0.84485356524970701), float2(0.51410274419322166, -0.85772861000027212), float2(0.49289819222978409, -0.87008699110871135), float2(0.47139673682599781, -0.88192126434835494), float2(0.4496113296546066, -0.89322430119551532), float2(0.4275550934302822, -0.90398929312344334), float2(0.40524131400498986, -0.91420975570353069), float2(0.38268343236508984, -0.92387953251128674), float2(0.35989503653498828, -0.93299279883473885), float2(0.33688985339222005, -0.94154406518302081), float2(0.31368174039889157, -0.94952818059303667), float2(0.29028467725446233, -0.95694033573220894), float2(0.26671275747489842, -0.96377606579543984), float2(0.24298017990326398, -0.97003125319454397), float2(0.21910124015686977, -0.97570213003852857), float2(0.19509032201612833, -0.98078528040323043), float2(0.17096188876030136, -0.98527764238894122), float2(0.14673047445536175, -0.98917650996478101), float2(0.12241067519921628, -0.99247953459870997), float2(0.09801714032956077, -0.99518472667219682), float2(0.073564563599667454, -0.99729045667869021), float2(0.049067674327418126, -0.99879545620517241), float2(0.024541228522912264, -0.99969881869620425), float2(0, -1), float2(-0.024541228522912142, -0.99969881869620425), float2(-0.049067674327418008, -0.99879545620517241), float2(-0.073564563599667329, -0.99729045667869021), float2(-0.098017140329560645, -0.99518472667219693), float2(-0.12241067519921615, -0.99247953459870997), float2(-0.14673047445536164, -0.98917650996478101), float2(-0.17096188876030124, -0.98527764238894122), float2(-0.19509032201612819, -0.98078528040323043), float2(-0.21910124015686966, -0.97570213003852857), float2(-0.24298017990326387, -0.97003125319454397), float2(-0.26671275747489831, -0.96377606579543984), float2(-0.29028467725446216, -0.95694033573220894), float2(-0.31368174039889141, -0.94952818059303667), float2(-0.33688985339221994, -0.94154406518302081), float2(-0.35989503653498817, -0.93299279883473885), float2(-0.38268343236508973, -0.92387953251128674), float2(-0.40524131400498975, -0.91420975570353069), float2(-0.42755509343028186, -0.90398929312344345), float2(-0.44961132965460671, -0.89322430119551521), float2(-0.4713967368259977, -0.88192126434835505), float2(-0.49289819222978398, -0.87008699110871146), float2(-0.51410274419322166, -0.85772861000027212), float2(-0.53499761988709704, -0.84485356524970723), float2(-0.55557023301960196, -0.83146961230254546), float2(-0.57580819141784534, -0.81758481315158371), float2(-0.59569930449243336, -0.80320753148064494), float2(-0.61523159058062671, -0.78834642762660634), float2(-0.63439328416364538, -0.7730104533627371), float2(-0.65317284295377653, -0.75720884650648468), float2(-0.67155895484701844, -0.74095112535495899), float2(-0.68954054473706694, -0.72424708295146689), float2(-0.70710678118654746, -0.70710678118654757), float2(-0.72424708295146678, -0.68954054473706705), float2(-0.74095112535495888, -0.67155895484701855), float2(-0.75720884650648457, -0.65317284295377664), float2(-0.77301045336273699, -0.63439328416364549), float2(-0.78834642762660623, -0.61523159058062693), float2(-0.80320753148064483, -0.59569930449243347), float2(-0.8175848131515836, -0.57580819141784545), float2(-0.83146961230254535, -0.55557023301960218), float2(-0.84485356524970712, -0.53499761988709715), float2(-0.85772861000027201, -0.51410274419322177), float2(-0.87008699110871135, -0.49289819222978415), float2(-0.88192126434835494, -0.47139673682599786), float2(-0.89322430119551521, -0.44961132965460687), float2(-0.90398929312344334, -0.42755509343028203), float2(-0.91420975570353069, -0.40524131400498992), float2(-0.92387953251128674, -0.38268343236508989), float2(-0.93299279883473885, -0.35989503653498833), float2(-0.9415440651830207, -0.33688985339222033), float2(-0.94952818059303667, -0.31368174039889141), float2(-0.95694033573220882, -0.29028467725446239), float2(-0.96377606579543984, -0.26671275747489848), float2(-0.97003125319454397, -0.24298017990326407), float2(-0.97570213003852846, -0.21910124015687005), float2(-0.98078528040323043, -0.19509032201612861), float2(-0.98527764238894122, -0.17096188876030122), float2(-0.98917650996478101, -0.1467304744553618), float2(-0.99247953459870997, -0.12241067519921635), float2(-0.99518472667219682, -0.098017140329560826), float2(-0.99729045667869021, -0.073564563599667732), float2(-0.99879545620517241, -0.049067674327417966), float2(-0.99969881869620425, -0.024541228522912326), float2(-1, 0), float2(-0.99969881869620425, 0.02454122852291208), float2(-0.99879545620517241, 0.049067674327417724), float2(-0.99729045667869021, 0.073564563599667496), float2(-0.99518472667219693, 0.09801714032956059), float2(-0.99247953459870997, 0.1224106751992161), float2(-0.98917650996478101, 0.14673047445536158), float2(-0.98527764238894133, 0.17096188876030097), float2(-0.98078528040323043, 0.19509032201612836), float2(-0.97570213003852857, 0.2191012401568698), float2(-0.97003125319454397, 0.24298017990326382), float2(-0.96377606579543995, 0.26671275747489825), float2(-0.95694033573220894, 0.29028467725446211), float2(-0.94952818059303679, 0.31368174039889118), float2(-0.94154406518302081, 0.33688985339222011), float2(-0.93299279883473896, 0.35989503653498811), float2(-0.92387953251128685, 0.38268343236508967), float2(-0.91420975570353069, 0.40524131400498969), float2(-0.90398929312344345, 0.42755509343028181), float2(-0.89322430119551532, 0.44961132965460665), float2(-0.88192126434835505, 0.47139673682599764), float2(-0.87008699110871146, 0.49289819222978393), float2(-0.85772861000027212, 0.51410274419322155), float2(-0.84485356524970723, 0.53499761988709693), float2(-0.83146961230254546, 0.55557023301960196), float2(-0.81758481315158371, 0.57580819141784534), float2(-0.80320753148064494, 0.59569930449243325), float2(-0.78834642762660634, 0.61523159058062671), float2(-0.7730104533627371, 0.63439328416364527), float2(-0.75720884650648479, 0.65317284295377653), float2(-0.74095112535495911, 0.67155895484701844), float2(-0.724247082951467, 0.68954054473706683), float2(-0.70710678118654768, 0.70710678118654746), float2(-0.68954054473706705, 0.72424708295146678), float2(-0.67155895484701866, 0.74095112535495888), float2(-0.65317284295377709, 0.75720884650648423), float2(-0.63439328416364593, 0.77301045336273666), float2(-0.61523159058062726, 0.78834642762660589), float2(-0.59569930449243313, 0.80320753148064505), float2(-0.57580819141784523, 0.81758481315158382), float2(-0.55557023301960218, 0.83146961230254524), float2(-0.53499761988709726, 0.84485356524970701), float2(-0.51410274419322177, 0.85772861000027201), float2(-0.4928981922297842, 0.87008699110871135), float2(-0.47139673682599786, 0.88192126434835494), float2(-0.44961132965460693, 0.89322430119551521), float2(-0.42755509343028247, 0.90398929312344312), float2(-0.40524131400499036, 0.91420975570353047), float2(-0.38268343236509034, 0.92387953251128652), float2(-0.35989503653498794, 0.93299279883473896), float2(-0.33688985339221994, 0.94154406518302081), float2(-0.31368174039889146, 0.94952818059303667), float2(-0.29028467725446244, 0.95694033573220882), float2(-0.26671275747489853, 0.96377606579543984), float2(-0.24298017990326412, 0.97003125319454397), float2(-0.2191012401568701, 0.97570213003852846), float2(-0.19509032201612866, 0.98078528040323032), float2(-0.17096188876030169, 0.98527764238894111), float2(-0.1467304744553623, 0.9891765099647809), float2(-0.12241067519921596, 0.99247953459871008), float2(-0.098017140329560451, 0.99518472667219693), float2(-0.073564563599667357, 0.99729045667869021), float2(-0.049067674327418029, 0.99879545620517241), float2(-0.024541228522912389, 0.99969881869620425), float2(0, 1), float2(0.024541228522912021, 0.99969881869620425), float2(0.049067674327417661, 0.99879545620517241), float2(0.073564563599666982, 0.99729045667869021), float2(0.09801714032956009, 0.99518472667219693), float2(0.1224106751992156, 0.99247953459871008), float2(0.14673047445536194, 0.9891765099647809), float2(0.17096188876030133, 0.98527764238894122), float2(0.1950903220161283, 0.98078528040323043), float2(0.21910124015686974, 0.97570213003852857), float2(0.24298017990326376, 0.97003125319454397), float2(0.2667127574748982, 0.96377606579543995), float2(0.29028467725446205, 0.95694033573220894), float2(0.31368174039889113, 0.94952818059303679), float2(0.33688985339221961, 0.94154406518302092), float2(0.35989503653498761, 0.93299279883473907), float2(0.38268343236509, 0.92387953251128663), float2(0.40524131400499003, 0.91420975570353058), float2(0.42755509343028214, 0.90398929312344334), float2(0.4496113296546066, 0.89322430119551532), float2(0.47139673682599759, 0.88192126434835505), float2(0.49289819222978387, 0.87008699110871146), float2(0.51410274419322155, 0.85772861000027223), float2(0.53499761988709693, 0.84485356524970723), float2(0.55557023301960184, 0.83146961230254546), float2(0.57580819141784489, 0.81758481315158404), float2(0.59569930449243291, 0.80320753148064528), float2(0.61523159058062704, 0.78834642762660612), float2(0.6343932841636456, 0.77301045336273688), float2(0.65317284295377676, 0.75720884650648457), float2(0.67155895484701833, 0.74095112535495911), float2(0.68954054473706683, 0.724247082951467), float2(0.70710678118654735, 0.70710678118654768), float2(0.72424708295146667, 0.68954054473706716), float2(0.74095112535495888, 0.67155895484701866), float2(0.75720884650648423, 0.65317284295377709), float2(0.77301045336273666, 0.63439328416364593), float2(0.78834642762660589, 0.61523159058062737), float2(0.80320753148064505, 0.59569930449243325), float2(0.81758481315158371, 0.57580819141784523), float2(0.83146961230254524, 0.55557023301960218), float2(0.84485356524970701, 0.53499761988709726), float2(0.85772861000027201, 0.51410274419322188), float2(0.87008699110871135, 0.49289819222978426), float2(0.88192126434835483, 0.47139673682599792), float2(0.8932243011955151, 0.44961132965460698), float2(0.90398929312344312, 0.42755509343028253), float2(0.91420975570353047, 0.40524131400499042), float2(0.92387953251128652, 0.38268343236509039), float2(0.93299279883473896, 0.359895036534988), float2(0.94154406518302081, 0.33688985339222), float2(0.94952818059303667, 0.31368174039889152), float2(0.95694033573220882, 0.2902846772544625), float2(0.96377606579543984, 0.26671275747489859), float2(0.97003125319454397, 0.24298017990326418), float2(0.97570213003852846, 0.21910124015687016), float2(0.98078528040323032, 0.19509032201612872), float2(0.98527764238894111, 0.17096188876030177), float2(0.9891765099647809, 0.14673047445536239), float2(0.99247953459870997, 0.12241067519921603), float2(0.99518472667219693, 0.098017140329560506), float2(0.99729045667869021, 0.073564563599667412), float2(0.99879545620517241, 0.049067674327418091), float2(0.99969881869620425, 0.024541228522912448), }; #elif defined(_FFT_SIZE_512) static const float2 kTwiddles[512] = { float2(1, 0), float2(0.9999247018391445, -0.012271538285719925), float2(0.99969881869620425, -0.024541228522912288), float2(0.99932238458834954, -0.036807222941358832), float2(0.99879545620517241, -0.049067674327418015), float2(0.99811811290014918, -0.061320736302208578), float2(0.99729045667869021, -0.073564563599667426), float2(0.996312612182778, -0.085797312344439894), float2(0.99518472667219693, -0.098017140329560604), float2(0.99390697000235606, -0.11022220729388306), float2(0.99247953459870997, -0.1224106751992162), float2(0.99090263542778001, -0.13458070850712617), float2(0.98917650996478101, -0.14673047445536175), float2(0.98730141815785843, -0.15885814333386145), float2(0.98527764238894122, -0.17096188876030122), float2(0.98310548743121629, -0.18303988795514095), float2(0.98078528040323043, -0.19509032201612825), float2(0.97831737071962765, -0.20711137619221856), float2(0.97570213003852857, -0.2191012401568698), float2(0.97293995220556018, -0.23105810828067111), float2(0.97003125319454397, -0.24298017990326387), float2(0.96697647104485207, -0.25486565960451457), float2(0.96377606579543984, -0.26671275747489837), float2(0.96043051941556579, -0.27851968938505306), float2(0.95694033573220882, -0.29028467725446233), float2(0.95330604035419386, -0.30200594931922808), float2(0.94952818059303667, -0.31368174039889152), float2(0.94560732538052128, -0.32531029216226293), float2(0.94154406518302081, -0.33688985339222005), float2(0.93733901191257496, -0.34841868024943456), float2(0.93299279883473896, -0.35989503653498811), float2(0.92850608047321559, -0.37131719395183754), float2(0.92387953251128674, -0.38268343236508978), float2(0.91911385169005777, -0.3939920400610481), float2(0.91420975570353069, -0.40524131400498986), float2(0.90916798309052238, -0.41642956009763715), float2(0.90398929312344334, -0.42755509343028208), float2(0.89867446569395382, -0.43861623853852766), float2(0.89322430119551532, -0.44961132965460654), float2(0.88763962040285393, -0.46053871095824001), float2(0.88192126434835505, -0.47139673682599764), float2(0.8760700941954066, -0.48218377207912272), float2(0.87008699110871146, -0.49289819222978404), float2(0.86397285612158681, -0.50353838372571758), float2(0.85772861000027212, -0.51410274419322166), float2(0.8513551931052652, -0.52458968267846895), float2(0.84485356524970712, -0.53499761988709715), float2(0.83822470555483808, -0.54532498842204646), float2(0.83146961230254524, -0.55557023301960218), float2(0.82458930278502529, -0.56573181078361312), float2(0.81758481315158371, -0.57580819141784534), float2(0.81045719825259477, -0.58579785745643886), float2(0.80320753148064494, -0.59569930449243336), float2(0.79583690460888357, -0.60551104140432555), float2(0.78834642762660634, -0.61523159058062682), float2(0.78073722857209449, -0.62485948814238634), float2(0.77301045336273699, -0.63439328416364549), float2(0.76516726562245896, -0.64383154288979139), float2(0.75720884650648457, -0.65317284295377676), float2(0.74913639452345937, -0.66241577759017178), float2(0.74095112535495911, -0.67155895484701833), float2(0.73265427167241282, -0.68060099779545302), float2(0.724247082951467, -0.68954054473706683), float2(0.71573082528381859, -0.69837624940897292), float2(0.70710678118654757, -0.70710678118654746), float2(0.69837624940897292, -0.71573082528381859), float2(0.68954054473706694, -0.72424708295146689), float2(0.68060099779545313, -0.73265427167241282), float2(0.67155895484701833, -0.74095112535495911), float2(0.66241577759017178, -0.74913639452345926), float2(0.65317284295377676, -0.75720884650648446), float2(0.6438315428897915, -0.76516726562245896), float2(0.63439328416364549, -0.77301045336273699), float2(0.62485948814238645, -0.78073722857209438), float2(0.61523159058062682, -0.78834642762660623), float2(0.60551104140432555, -0.79583690460888346), float2(0.59569930449243347, -0.80320753148064483), float2(0.58579785745643886, -0.81045719825259477), float2(0.57580819141784534, -0.81758481315158371), float2(0.56573181078361323, -0.82458930278502529), float2(0.55557023301960229, -0.83146961230254524), float2(0.54532498842204646, -0.83822470555483797), float2(0.53499761988709726, -0.84485356524970701), float2(0.52458968267846884, -0.8513551931052652), float2(0.51410274419322166, -0.85772861000027212), float2(0.50353838372571758, -0.8639728561215867), float2(0.49289819222978409, -0.87008699110871135), float2(0.48218377207912283, -0.8760700941954066), float2(0.47139673682599781, -0.88192126434835494), float2(0.46053871095824001, -0.88763962040285393), float2(0.4496113296546066, -0.89322430119551532), float2(0.43861623853852771, -0.89867446569395382), float2(0.4275550934302822, -0.90398929312344334), float2(0.41642956009763732, -0.90916798309052227), float2(0.40524131400498986, -0.91420975570353069), float2(0.3939920400610481, -0.91911385169005777), float2(0.38268343236508984, -0.92387953251128674), float2(0.3713171939518376, -0.92850608047321548), float2(0.35989503653498828, -0.93299279883473885), float2(0.34841868024943451, -0.93733901191257496), float2(0.33688985339222005, -0.94154406518302081), float2(0.32531029216226298, -0.94560732538052128), float2(0.31368174039889157, -0.94952818059303667), float2(0.3020059493192282, -0.95330604035419375), float2(0.29028467725446233, -0.95694033573220894), float2(0.27851968938505306, -0.96043051941556579), float2(0.26671275747489842, -0.96377606579543984), float2(0.25486565960451463, -0.96697647104485207), float2(0.24298017990326398, -0.97003125319454397), float2(0.23105810828067128, -0.97293995220556007), float2(0.21910124015686977, -0.97570213003852857), float2(0.20711137619221856, -0.97831737071962765), float2(0.19509032201612833, -0.98078528040323043), float2(0.18303988795514106, -0.98310548743121629), float2(0.17096188876030136, -0.98527764238894122), float2(0.15885814333386139, -0.98730141815785843), float2(0.14673047445536175, -0.98917650996478101), float2(0.13458070850712622, -0.99090263542778001), float2(0.12241067519921628, -0.99247953459870997), float2(0.11022220729388318, -0.99390697000235606), float2(0.09801714032956077, -0.99518472667219682), float2(0.08579731234443988, -0.996312612182778), float2(0.073564563599667454, -0.99729045667869021), float2(0.061320736302208648, -0.99811811290014918), float2(0.049067674327418126, -0.99879545620517241), float2(0.036807222941358991, -0.99932238458834954), float2(0.024541228522912264, -0.99969881869620425), float2(0.012271538285719944, -0.9999247018391445), float2(0, -1), float2(-0.012271538285719823, -0.9999247018391445), float2(-0.024541228522912142, -0.99969881869620425), float2(-0.036807222941358866, -0.99932238458834954), float2(-0.049067674327418008, -0.99879545620517241), float2(-0.06132073630220853, -0.99811811290014918), float2(-0.073564563599667329, -0.99729045667869021), float2(-0.085797312344439755, -0.996312612182778), float2(-0.098017140329560645, -0.99518472667219693), float2(-0.11022220729388306, -0.99390697000235606), float2(-0.12241067519921615, -0.99247953459870997), float2(-0.13458070850712611, -0.99090263542778001), float2(-0.14673047445536164, -0.98917650996478101), float2(-0.15885814333386128, -0.98730141815785843), float2(-0.17096188876030124, -0.98527764238894122), float2(-0.18303988795514092, -0.98310548743121629), float2(-0.19509032201612819, -0.98078528040323043), float2(-0.20711137619221845, -0.97831737071962765), float2(-0.21910124015686966, -0.97570213003852857), float2(-0.23105810828067114, -0.97293995220556018), float2(-0.24298017990326387, -0.97003125319454397), float2(-0.25486565960451452, -0.96697647104485207), float2(-0.26671275747489831, -0.96377606579543984), float2(-0.27851968938505295, -0.9604305194155659), float2(-0.29028467725446216, -0.95694033573220894), float2(-0.30200594931922808, -0.95330604035419386), float2(-0.31368174039889141, -0.94952818059303667), float2(-0.32531029216226287, -0.94560732538052139), float2(-0.33688985339221994, -0.94154406518302081), float2(-0.3484186802494344, -0.93733901191257496), float2(-0.35989503653498817, -0.93299279883473885), float2(-0.37131719395183749, -0.92850608047321559), float2(-0.38268343236508973, -0.92387953251128674), float2(-0.39399204006104799, -0.91911385169005777), float2(-0.40524131400498975, -0.91420975570353069), float2(-0.41642956009763699, -0.90916798309052249), float2(-0.42755509343028186, -0.90398929312344345), float2(-0.43861623853852738, -0.89867446569395393), float2(-0.44961132965460671, -0.89322430119551521), float2(-0.46053871095824006, -0.88763962040285393), float2(-0.4713967368259977, -0.88192126434835505), float2(-0.48218377207912272, -0.8760700941954066), float2(-0.49289819222978398, -0.87008699110871146), float2(-0.50353838372571746, -0.86397285612158681), float2(-0.51410274419322166, -0.85772861000027212), float2(-0.52458968267846873, -0.8513551931052652), float2(-0.53499761988709704, -0.84485356524970723), float2(-0.54532498842204624, -0.83822470555483819), float2(-0.55557023301960196, -0.83146961230254546), float2(-0.56573181078361323, -0.82458930278502518), float2(-0.57580819141784534, -0.81758481315158371), float2(-0.58579785745643886, -0.81045719825259477), float2(-0.59569930449243336, -0.80320753148064494), float2(-0.60551104140432543, -0.79583690460888357), float2(-0.61523159058062671, -0.78834642762660634), float2(-0.62485948814238623, -0.7807372285720946), float2(-0.63439328416364538, -0.7730104533627371), float2(-0.64383154288979128, -0.76516726562245907), float2(-0.65317284295377653, -0.75720884650648468), float2(-0.66241577759017189, -0.74913639452345926), float2(-0.67155895484701844, -0.74095112535495899), float2(-0.68060099779545302, -0.73265427167241282), float2(-0.68954054473706694, -0.72424708295146689), float2(-0.6983762494089728, -0.71573082528381871), float2(-0.70710678118654746, -0.70710678118654757), float2(-0.71573082528381859, -0.69837624940897292), float2(-0.72424708295146678, -0.68954054473706705), float2(-0.7326542716724127, -0.68060099779545324), float2(-0.74095112535495888, -0.67155895484701855), float2(-0.74913639452345915, -0.66241577759017201), float2(-0.75720884650648457, -0.65317284295377664), float2(-0.76516726562245896, -0.64383154288979139), float2(-0.77301045336273699, -0.63439328416364549), float2(-0.78073722857209449, -0.62485948814238634), float2(-0.78834642762660623, -0.61523159058062693), float2(-0.79583690460888346, -0.60551104140432566), float2(-0.80320753148064483, -0.59569930449243347), float2(-0.81045719825259466, -0.58579785745643898), float2(-0.8175848131515836, -0.57580819141784545), float2(-0.82458930278502507, -0.56573181078361345), float2(-0.83146961230254535, -0.55557023301960218), float2(-0.83822470555483808, -0.54532498842204635), float2(-0.84485356524970712, -0.53499761988709715), float2(-0.8513551931052652, -0.52458968267846895), float2(-0.85772861000027201, -0.51410274419322177), float2(-0.8639728561215867, -0.50353838372571769), float2(-0.87008699110871135, -0.49289819222978415), float2(-0.87607009419540649, -0.48218377207912289), float2(-0.88192126434835494, -0.47139673682599786), float2(-0.88763962040285382, -0.46053871095824023), float2(-0.89322430119551521, -0.44961132965460687), float2(-0.89867446569395393, -0.43861623853852755), float2(-0.90398929312344334, -0.42755509343028203), float2(-0.90916798309052238, -0.41642956009763715), float2(-0.91420975570353069, -0.40524131400498992), float2(-0.91911385169005777, -0.39399204006104815), float2(-0.92387953251128674, -0.38268343236508989), float2(-0.92850608047321548, -0.37131719395183771), float2(-0.93299279883473885, -0.35989503653498833), float2(-0.93733901191257485, -0.34841868024943479), float2(-0.9415440651830207, -0.33688985339222033), float2(-0.94560732538052117, -0.32531029216226326), float2(-0.94952818059303667, -0.31368174039889141), float2(-0.95330604035419386, -0.30200594931922803), float2(-0.95694033573220882, -0.29028467725446239), float2(-0.96043051941556579, -0.27851968938505317), float2(-0.96377606579543984, -0.26671275747489848), float2(-0.96697647104485207, -0.25486565960451468), float2(-0.97003125319454397, -0.24298017990326407), float2(-0.97293995220556007, -0.23105810828067133), float2(-0.97570213003852846, -0.21910124015687005), float2(-0.97831737071962754, -0.20711137619221884), float2(-0.98078528040323043, -0.19509032201612861), float2(-0.98310548743121629, -0.1830398879551409), float2(-0.98527764238894122, -0.17096188876030122), float2(-0.98730141815785843, -0.15885814333386147), float2(-0.98917650996478101, -0.1467304744553618), float2(-0.99090263542778001, -0.13458070850712628), float2(-0.99247953459870997, -0.12241067519921635), float2(-0.99390697000235606, -0.11022220729388324), float2(-0.99518472667219682, -0.098017140329560826), float2(-0.996312612182778, -0.085797312344440158), float2(-0.99729045667869021, -0.073564563599667732), float2(-0.99811811290014918, -0.061320736302208488), float2(-0.99879545620517241, -0.049067674327417966), float2(-0.99932238458834954, -0.036807222941358832), float2(-0.99969881869620425, -0.024541228522912326), float2(-0.9999247018391445, -0.012271538285720007), float2(-1, 0), float2(-0.9999247018391445, 0.012271538285719762), float2(-0.99969881869620425, 0.02454122852291208), float2(-0.99932238458834954, 0.036807222941358582), float2(-0.99879545620517241, 0.049067674327417724), float2(-0.99811811290014918, 0.061320736302208245), float2(-0.99729045667869021, 0.073564563599667496), float2(-0.996312612182778, 0.085797312344439922), float2(-0.99518472667219693, 0.09801714032956059), float2(-0.99390697000235606, 0.110222207293883), float2(-0.99247953459870997, 0.1224106751992161), float2(-0.99090263542778001, 0.13458070850712606), float2(-0.98917650996478101, 0.14673047445536158), float2(-0.98730141815785843, 0.15885814333386122), float2(-0.98527764238894133, 0.17096188876030097), float2(-0.9831054874312164, 0.18303988795514065), float2(-0.98078528040323043, 0.19509032201612836), float2(-0.97831737071962765, 0.20711137619221859), float2(-0.97570213003852857, 0.2191012401568698), float2(-0.97293995220556018, 0.23105810828067108), float2(-0.97003125319454397, 0.24298017990326382), float2(-0.96697647104485218, 0.25486565960451446), float2(-0.96377606579543995, 0.26671275747489825), float2(-0.9604305194155659, 0.27851968938505289), float2(-0.95694033573220894, 0.29028467725446211), float2(-0.95330604035419397, 0.30200594931922781), float2(-0.94952818059303679, 0.31368174039889118), float2(-0.94560732538052128, 0.32531029216226298), float2(-0.94154406518302081, 0.33688985339222011), float2(-0.93733901191257496, 0.34841868024943456), float2(-0.93299279883473896, 0.35989503653498811), float2(-0.92850608047321559, 0.37131719395183743), float2(-0.92387953251128685, 0.38268343236508967), float2(-0.91911385169005777, 0.39399204006104793), float2(-0.91420975570353069, 0.40524131400498969), float2(-0.90916798309052249, 0.41642956009763693), float2(-0.90398929312344345, 0.42755509343028181), float2(-0.89867446569395404, 0.43861623853852733), float2(-0.89322430119551532, 0.44961132965460665), float2(-0.88763962040285393, 0.46053871095824006), float2(-0.88192126434835505, 0.47139673682599764), float2(-0.8760700941954066, 0.48218377207912266), float2(-0.87008699110871146, 0.49289819222978393), float2(-0.86397285612158681, 0.50353838372571746), float2(-0.85772861000027212, 0.51410274419322155), float2(-0.85135519310526531, 0.52458968267846873), float2(-0.84485356524970723, 0.53499761988709693), float2(-0.83822470555483819, 0.54532498842204613), float2(-0.83146961230254546, 0.55557023301960196), float2(-0.82458930278502529, 0.56573181078361323), float2(-0.81758481315158371, 0.57580819141784534), float2(-0.81045719825259477, 0.58579785745643886), float2(-0.80320753148064494, 0.59569930449243325), float2(-0.79583690460888357, 0.60551104140432543), float2(-0.78834642762660634, 0.61523159058062671), float2(-0.7807372285720946, 0.62485948814238623), float2(-0.7730104533627371, 0.63439328416364527), float2(-0.76516726562245907, 0.64383154288979128), float2(-0.75720884650648479, 0.65317284295377653), float2(-0.74913639452345926, 0.66241577759017178), float2(-0.74095112535495911, 0.67155895484701844), float2(-0.73265427167241282, 0.68060099779545302), float2(-0.724247082951467, 0.68954054473706683), float2(-0.71573082528381871, 0.6983762494089728), float2(-0.70710678118654768, 0.70710678118654746), float2(-0.69837624940897303, 0.71573082528381848), float2(-0.68954054473706705, 0.72424708295146678), float2(-0.68060099779545324, 0.73265427167241259), float2(-0.67155895484701866, 0.74095112535495888), float2(-0.66241577759017201, 0.74913639452345904), float2(-0.65317284295377709, 0.75720884650648423), float2(-0.6438315428897915, 0.76516726562245896), float2(-0.63439328416364593, 0.77301045336273666), float2(-0.62485948814238645, 0.78073722857209438), float2(-0.61523159058062726, 0.78834642762660589), float2(-0.60551104140432566, 0.79583690460888346), float2(-0.59569930449243313, 0.80320753148064505), float2(-0.58579785745643909, 0.81045719825259466), float2(-0.57580819141784523, 0.81758481315158382), float2(-0.56573181078361345, 0.82458930278502507), float2(-0.55557023301960218, 0.83146961230254524), float2(-0.5453249884220468, 0.83822470555483786), float2(-0.53499761988709726, 0.84485356524970701), float2(-0.52458968267846939, 0.85135519310526486), float2(-0.51410274419322177, 0.85772861000027201), float2(-0.50353838372571802, 0.86397285612158647), float2(-0.4928981922297842, 0.87008699110871135), float2(-0.48218377207912255, 0.87607009419540671), float2(-0.47139673682599786, 0.88192126434835494), float2(-0.46053871095823989, 0.88763962040285405), float2(-0.44961132965460693, 0.89322430119551521), float2(-0.4386162385385276, 0.89867446569395382), float2(-0.42755509343028247, 0.90398929312344312), float2(-0.41642956009763721, 0.90916798309052238), float2(-0.40524131400499036, 0.91420975570353047), float2(-0.39399204006104821, 0.91911385169005766), float2(-0.38268343236509034, 0.92387953251128652), float2(-0.37131719395183777, 0.92850608047321548), float2(-0.35989503653498794, 0.93299279883473896), float2(-0.34841868024943484, 0.93733901191257485), float2(-0.33688985339221994, 0.94154406518302081), float2(-0.32531029216226331, 0.94560732538052117), float2(-0.31368174039889146, 0.94952818059303667), float2(-0.30200594931922853, 0.95330604035419375), float2(-0.29028467725446244, 0.95694033573220882), float2(-0.27851968938505361, 0.96043051941556568), float2(-0.26671275747489853, 0.96377606579543984), float2(-0.25486565960451435, 0.96697647104485218), float2(-0.24298017990326412, 0.97003125319454397), float2(-0.23105810828067094, 0.97293995220556018), float2(-0.2191012401568701, 0.97570213003852846), float2(-0.20711137619221848, 0.97831737071962765), float2(-0.19509032201612866, 0.98078528040323032), float2(-0.18303988795514095, 0.98310548743121629), float2(-0.17096188876030169, 0.98527764238894111), float2(-0.15885814333386153, 0.98730141815785832), float2(-0.1467304744553623, 0.9891765099647809), float2(-0.13458070850712636, 0.99090263542778001), float2(-0.12241067519921596, 0.99247953459871008), float2(-0.11022220729388331, 0.99390697000235606), float2(-0.098017140329560451, 0.99518472667219693), float2(-0.085797312344440227, 0.996312612182778), float2(-0.073564563599667357, 0.99729045667869021), float2(-0.061320736302208995, 0.99811811290014918), float2(-0.049067674327418029, 0.99879545620517241), float2(-0.036807222941359331, 0.99932238458834943), float2(-0.024541228522912389, 0.99969881869620425), float2(-0.012271538285720512, 0.9999247018391445), float2(0, 1), float2(0.012271538285720144, 0.9999247018391445), float2(0.024541228522912021, 0.99969881869620425), float2(0.036807222941358964, 0.99932238458834954), float2(0.049067674327417661, 0.99879545620517241), float2(0.061320736302208627, 0.99811811290014918), float2(0.073564563599666982, 0.99729045667869021), float2(0.085797312344439852, 0.996312612182778), float2(0.09801714032956009, 0.99518472667219693), float2(0.11022220729388293, 0.99390697000235606), float2(0.1224106751992156, 0.99247953459871008), float2(0.13458070850712597, 0.99090263542778001), float2(0.14673047445536194, 0.9891765099647809), float2(0.15885814333386117, 0.98730141815785843), float2(0.17096188876030133, 0.98527764238894122), float2(0.18303988795514059, 0.9831054874312164), float2(0.1950903220161283, 0.98078528040323043), float2(0.20711137619221812, 0.97831737071962777), float2(0.21910124015686974, 0.97570213003852857), float2(0.23105810828067058, 0.97293995220556029), float2(0.24298017990326376, 0.97003125319454397), float2(0.25486565960451396, 0.96697647104485229), float2(0.2667127574748982, 0.96377606579543995), float2(0.27851968938505328, 0.96043051941556579), float2(0.29028467725446205, 0.95694033573220894), float2(0.30200594931922814, 0.95330604035419386), float2(0.31368174039889113, 0.94952818059303679), float2(0.32531029216226293, 0.94560732538052128), float2(0.33688985339221961, 0.94154406518302092), float2(0.34841868024943451, 0.93733901191257496), float2(0.35989503653498761, 0.93299279883473907), float2(0.37131719395183738, 0.92850608047321559), float2(0.38268343236509, 0.92387953251128663), float2(0.39399204006104788, 0.91911385169005788), float2(0.40524131400499003, 0.91420975570353058), float2(0.41642956009763687, 0.90916798309052249), float2(0.42755509343028214, 0.90398929312344334), float2(0.43861623853852727, 0.89867446569395404), float2(0.4496113296546066, 0.89322430119551532), float2(0.46053871095823956, 0.88763962040285416), float2(0.47139673682599759, 0.88192126434835505), float2(0.48218377207912222, 0.87607009419540693), float2(0.49289819222978387, 0.87008699110871146), float2(0.5035383837257178, 0.86397285612158659), float2(0.51410274419322155, 0.85772861000027223), float2(0.52458968267846906, 0.85135519310526508), float2(0.53499761988709693, 0.84485356524970723), float2(0.54532498842204646, 0.83822470555483797), float2(0.55557023301960184, 0.83146961230254546), float2(0.56573181078361312, 0.82458930278502529), float2(0.57580819141784489, 0.81758481315158404), float2(0.58579785745643875, 0.81045719825259488), float2(0.59569930449243291, 0.80320753148064528), float2(0.60551104140432532, 0.79583690460888368), float2(0.61523159058062704, 0.78834642762660612), float2(0.62485948814238612, 0.7807372285720946), float2(0.6343932841636456, 0.77301045336273688), float2(0.64383154288979116, 0.76516726562245918), float2(0.65317284295377676, 0.75720884650648457), float2(0.66241577759017145, 0.74913639452345959), float2(0.67155895484701833, 0.74095112535495911), float2(0.68060099779545269, 0.73265427167241315), float2(0.68954054473706683, 0.724247082951467), float2(0.69837624940897236, 0.71573082528381904), float2(0.70710678118654735, 0.70710678118654768), float2(0.71573082528381882, 0.69837624940897269), float2(0.72424708295146667, 0.68954054473706716), float2(0.73265427167241293, 0.68060099779545302), float2(0.74095112535495888, 0.67155895484701866), float2(0.74913639452345937, 0.66241577759017178), float2(0.75720884650648423, 0.65317284295377709), float2(0.76516726562245885, 0.6438315428897915), float2(0.77301045336273666, 0.63439328416364593), float2(0.78073722857209438, 0.62485948814238645), float2(0.78834642762660589, 0.61523159058062737), float2(0.79583690460888334, 0.60551104140432566), float2(0.80320753148064505, 0.59569930449243325), float2(0.81045719825259466, 0.58579785745643909), float2(0.81758481315158371, 0.57580819141784523), float2(0.82458930278502507, 0.56573181078361356), float2(0.83146961230254524, 0.55557023301960218), float2(0.83822470555483775, 0.5453249884220468), float2(0.84485356524970701, 0.53499761988709726), float2(0.85135519310526486, 0.52458968267846939), float2(0.85772861000027201, 0.51410274419322188), float2(0.86397285612158636, 0.50353838372571813), float2(0.87008699110871135, 0.49289819222978426), float2(0.87607009419540671, 0.48218377207912261), float2(0.88192126434835483, 0.47139673682599792), float2(0.88763962040285393, 0.46053871095823995), float2(0.8932243011955151, 0.44961132965460698), float2(0.89867446569395382, 0.43861623853852766), float2(0.90398929312344312, 0.42755509343028253), float2(0.90916798309052238, 0.41642956009763726), float2(0.91420975570353047, 0.40524131400499042), float2(0.91911385169005766, 0.39399204006104827), float2(0.92387953251128652, 0.38268343236509039), float2(0.92850608047321548, 0.37131719395183782), float2(0.93299279883473896, 0.359895036534988), float2(0.93733901191257485, 0.3484186802494349), float2(0.94154406518302081, 0.33688985339222), float2(0.94560732538052117, 0.32531029216226337), float2(0.94952818059303667, 0.31368174039889152), float2(0.95330604035419364, 0.30200594931922858), float2(0.95694033573220882, 0.2902846772544625), float2(0.96043051941556568, 0.27851968938505367), float2(0.96377606579543984, 0.26671275747489859), float2(0.96697647104485218, 0.25486565960451441), float2(0.97003125319454397, 0.24298017990326418), float2(0.97293995220556018, 0.231058108280671), float2(0.97570213003852846, 0.21910124015687016), float2(0.97831737071962765, 0.20711137619221853), float2(0.98078528040323032, 0.19509032201612872), float2(0.98310548743121629, 0.18303988795514101), float2(0.98527764238894111, 0.17096188876030177), float2(0.98730141815785832, 0.15885814333386158), float2(0.9891765099647809, 0.14673047445536239), float2(0.99090263542778001, 0.13458070850712642), float2(0.99247953459870997, 0.12241067519921603), float2(0.99390697000235606, 0.11022220729388336), float2(0.99518472667219693, 0.098017140329560506), float2(0.996312612182778, 0.085797312344440282), float2(0.99729045667869021, 0.073564563599667412), float2(0.99811811290014918, 0.061320736302209057), float2(0.99879545620517241, 0.049067674327418091), float2(0.99932238458834943, 0.036807222941359394), float2(0.99969881869620425, 0.024541228522912448), float2(0.9999247018391445, 0.012271538285720572), }; #else static const float2 kTwiddles[1024] = { float2(1, 0), float2(0.99998117528260111, -0.0061358846491544753), float2(0.9999247018391445, -0.012271538285719925), float2(0.9998305817958234, -0.01840672990580482), float2(0.99969881869620425, -0.024541228522912288), float2(0.99952941750109314, -0.030674803176636626), float2(0.99932238458834954, -0.036807222941358832), float2(0.99907772775264536, -0.04293825693494082), float2(0.99879545620517241, -0.049067674327418015), float2(0.99847558057329477, -0.055195244349689934), float2(0.99811811290014918, -0.061320736302208578), float2(0.99772306664419164, -0.067443919563664051), float2(0.99729045667869021, -0.073564563599667426), float2(0.99682029929116567, -0.079682437971430126), float2(0.996312612182778, -0.085797312344439894), float2(0.99576741446765982, -0.091908956497132724), float2(0.99518472667219693, -0.098017140329560604), float2(0.99456457073425542, -0.10412163387205459), float2(0.99390697000235606, -0.11022220729388306), float2(0.9932119492347945, -0.11631863091190475), float2(0.99247953459870997, -0.1224106751992162), float2(0.99170975366909953, -0.12849811079379317), float2(0.99090263542778001, -0.13458070850712617), float2(0.99005821026229712, -0.14065823933284921), float2(0.98917650996478101, -0.14673047445536175), float2(0.98825756773074946, -0.15279718525844344), float2(0.98730141815785843, -0.15885814333386145), float2(0.98630809724459867, -0.16491312048996992), float2(0.98527764238894122, -0.17096188876030122), float2(0.98421009238692903, -0.17700422041214875), float2(0.98310548743121629, -0.18303988795514095), float2(0.98196386910955524, -0.18906866414980619), float2(0.98078528040323043, -0.19509032201612825), float2(0.97956976568544052, -0.2011046348420919), float2(0.97831737071962765, -0.20711137619221856), float2(0.97702814265775439, -0.21311031991609136), float2(0.97570213003852857, -0.2191012401568698), float2(0.97433938278557586, -0.22508391135979283), float2(0.97293995220556018, -0.23105810828067111), float2(0.97150389098625178, -0.2370236059943672), float2(0.97003125319454397, -0.24298017990326387), float2(0.96852209427441738, -0.24892760574572015), float2(0.96697647104485207, -0.25486565960451457), float2(0.9653944416976894, -0.26079411791527551), float2(0.96377606579543984, -0.26671275747489837), float2(0.96212140426904158, -0.27262135544994898), float2(0.96043051941556579, -0.27851968938505306), float2(0.9587034748958716, -0.28440753721127188), float2(0.95694033573220882, -0.29028467725446233), float2(0.95514116830577078, -0.29615088824362379), float2(0.95330604035419386, -0.30200594931922808), float2(0.95143502096900834, -0.30784964004153487), float2(0.94952818059303667, -0.31368174039889152), float2(0.94758559101774109, -0.31950203081601569), float2(0.94560732538052128, -0.32531029216226293), float2(0.94359345816196039, -0.33110630575987643), float2(0.94154406518302081, -0.33688985339222005), float2(0.93945922360218992, -0.34266071731199438), float2(0.93733901191257496, -0.34841868024943456), float2(0.93518350993894761, -0.35416352542049034), float2(0.93299279883473896, -0.35989503653498811), float2(0.93076696107898371, -0.36561299780477385), float2(0.92850608047321559, -0.37131719395183754), float2(0.92621024213831138, -0.37700741021641826), float2(0.92387953251128674, -0.38268343236508978), float2(0.92151403934204201, -0.38834504669882625), float2(0.91911385169005777, -0.3939920400610481), float2(0.9166790599210427, -0.39962419984564679), float2(0.91420975570353069, -0.40524131400498986), float2(0.91170603200542988, -0.41084317105790391), float2(0.90916798309052238, -0.41642956009763715), float2(0.90659570451491533, -0.42200027079979968), float2(0.90398929312344334, -0.42755509343028208), float2(0.90134884704602203, -0.43309381885315196), float2(0.89867446569395382, -0.43861623853852766), float2(0.89596624975618522, -0.4441221445704292), float2(0.89322430119551532, -0.44961132965460654), float2(0.89044872324475788, -0.45508358712634384), float2(0.88763962040285393, -0.46053871095824001), float2(0.88479709843093779, -0.46597649576796618), float2(0.88192126434835505, -0.47139673682599764), float2(0.87901222642863353, -0.47679923006332209), float2(0.8760700941954066, -0.48218377207912272), float2(0.87309497841829009, -0.487550160148436), float2(0.87008699110871146, -0.49289819222978404), float2(0.86704624551569265, -0.49822766697278187), float2(0.86397285612158681, -0.50353838372571758), float2(0.86086693863776731, -0.50883014254310699), float2(0.85772861000027212, -0.51410274419322166), float2(0.85455798836540053, -0.51935599016558964), float2(0.8513551931052652, -0.52458968267846895), float2(0.84812034480329723, -0.52980362468629461), float2(0.84485356524970712, -0.53499761988709715), float2(0.84155497743689844, -0.54017147272989285), float2(0.83822470555483808, -0.54532498842204646), float2(0.83486287498638001, -0.55045797293660481), float2(0.83146961230254524, -0.55557023301960218), float2(0.8280450452577558, -0.56066157619733603), float2(0.82458930278502529, -0.56573181078361312), float2(0.82110251499110465, -0.57078074588696726), float2(0.81758481315158371, -0.57580819141784534), float2(0.81403632970594841, -0.58081395809576453), float2(0.81045719825259477, -0.58579785745643886), float2(0.80684755354379933, -0.59075970185887416), float2(0.80320753148064494, -0.59569930449243336), float2(0.79953726910790501, -0.60061647938386897), float2(0.79583690460888357, -0.60551104140432555), float2(0.79210657730021239, -0.61038280627630948), float2(0.78834642762660634, -0.61523159058062682), float2(0.78455659715557524, -0.6200572117632891), float2(0.78073722857209449, -0.62485948814238634), float2(0.77688846567323244, -0.62963823891492698), float2(0.77301045336273699, -0.63439328416364549), float2(0.7691033376455797, -0.63912444486377573), float2(0.76516726562245896, -0.64383154288979139), float2(0.76120238548426178, -0.64851440102211244), float2(0.75720884650648457, -0.65317284295377676), float2(0.75318679904361252, -0.65780669329707864), float2(0.74913639452345937, -0.66241577759017178), float2(0.74505778544146606, -0.66699992230363747), float2(0.74095112535495911, -0.67155895484701833), float2(0.7368165688773699, -0.67609270357531592), float2(0.73265427167241282, -0.68060099779545302), float2(0.7284643904482252, -0.68508366777270036), float2(0.724247082951467, -0.68954054473706683), float2(0.72000250796138165, -0.693971460889654), float2(0.71573082528381859, -0.69837624940897292), float2(0.71143219574521643, -0.7027547444572253), float2(0.70710678118654757, -0.70710678118654746), float2(0.7027547444572253, -0.71143219574521643), float2(0.69837624940897292, -0.71573082528381859), float2(0.693971460889654, -0.72000250796138165), float2(0.68954054473706694, -0.72424708295146689), float2(0.68508366777270036, -0.7284643904482252), float2(0.68060099779545313, -0.73265427167241282), float2(0.67609270357531603, -0.73681656887736979), float2(0.67155895484701833, -0.74095112535495911), float2(0.66699992230363747, -0.74505778544146595), float2(0.66241577759017178, -0.74913639452345926), float2(0.65780669329707864, -0.75318679904361241), float2(0.65317284295377676, -0.75720884650648446), float2(0.64851440102211255, -0.76120238548426178), float2(0.6438315428897915, -0.76516726562245896), float2(0.63912444486377573, -0.76910333764557959), float2(0.63439328416364549, -0.77301045336273699), float2(0.6296382389149271, -0.77688846567323244), float2(0.62485948814238645, -0.78073722857209438), float2(0.62005721176328921, -0.78455659715557524), float2(0.61523159058062682, -0.78834642762660623), float2(0.61038280627630948, -0.79210657730021239), float2(0.60551104140432555, -0.79583690460888346), float2(0.60061647938386897, -0.79953726910790501), float2(0.59569930449243347, -0.80320753148064483), float2(0.59075970185887428, -0.80684755354379922), float2(0.58579785745643886, -0.81045719825259477), float2(0.58081395809576453, -0.8140363297059483), float2(0.57580819141784534, -0.81758481315158371), float2(0.57078074588696737, -0.82110251499110465), float2(0.56573181078361323, -0.82458930278502529), float2(0.56066157619733603, -0.8280450452577558), float2(0.55557023301960229, -0.83146961230254524), float2(0.55045797293660481, -0.83486287498638001), float2(0.54532498842204646, -0.83822470555483797), float2(0.54017147272989297, -0.84155497743689833), float2(0.53499761988709726, -0.84485356524970701), float2(0.52980362468629483, -0.84812034480329712), float2(0.52458968267846884, -0.8513551931052652), float2(0.51935599016558953, -0.85455798836540053), float2(0.51410274419322166, -0.85772861000027212), float2(0.50883014254310699, -0.86086693863776731), float2(0.50353838372571758, -0.8639728561215867), float2(0.49822766697278187, -0.86704624551569265), float2(0.49289819222978409, -0.87008699110871135), float2(0.48755016014843605, -0.87309497841829009), float2(0.48218377207912283, -0.8760700941954066), float2(0.47679923006332225, -0.87901222642863341), float2(0.47139673682599781, -0.88192126434835494), float2(0.46597649576796613, -0.88479709843093779), float2(0.46053871095824001, -0.88763962040285393), float2(0.45508358712634384, -0.89044872324475788), float2(0.4496113296546066, -0.89322430119551532), float2(0.44412214457042926, -0.89596624975618511), float2(0.43861623853852771, -0.89867446569395382), float2(0.43309381885315201, -0.90134884704602203), float2(0.4275550934302822, -0.90398929312344334), float2(0.42200027079979979, -0.90659570451491533), float2(0.41642956009763732, -0.90916798309052227), float2(0.41084317105790391, -0.91170603200542988), float2(0.40524131400498986, -0.91420975570353069), float2(0.39962419984564679, -0.9166790599210427), float2(0.3939920400610481, -0.91911385169005777), float2(0.3883450466988263, -0.9215140393420419), float2(0.38268343236508984, -0.92387953251128674), float2(0.37700741021641831, -0.92621024213831127), float2(0.3713171939518376, -0.92850608047321548), float2(0.36561299780477396, -0.93076696107898371), float2(0.35989503653498828, -0.93299279883473885), float2(0.35416352542049051, -0.9351835099389475), float2(0.34841868024943451, -0.93733901191257496), float2(0.34266071731199438, -0.93945922360218992), float2(0.33688985339222005, -0.94154406518302081), float2(0.33110630575987643, -0.94359345816196039), float2(0.32531029216226298, -0.94560732538052128), float2(0.31950203081601575, -0.94758559101774109), float2(0.31368174039889157, -0.94952818059303667), float2(0.30784964004153498, -0.95143502096900834), float2(0.3020059493192282, -0.95330604035419375), float2(0.29615088824362396, -0.95514116830577067), float2(0.29028467725446233, -0.95694033573220894), float2(0.28440753721127182, -0.9587034748958716), float2(0.27851968938505306, -0.96043051941556579), float2(0.27262135544994898, -0.96212140426904158), float2(0.26671275747489842, -0.96377606579543984), float2(0.26079411791527557, -0.9653944416976894), float2(0.25486565960451463, -0.96697647104485207), float2(0.24892760574572026, -0.96852209427441727), float2(0.24298017990326398, -0.97003125319454397), float2(0.23702360599436734, -0.97150389098625178), float2(0.23105810828067128, -0.97293995220556007), float2(0.22508391135979278, -0.97433938278557586), float2(0.21910124015686977, -0.97570213003852857), float2(0.21311031991609136, -0.97702814265775439), float2(0.20711137619221856, -0.97831737071962765), float2(0.20110463484209196, -0.97956976568544052), float2(0.19509032201612833, -0.98078528040323043), float2(0.18906866414980628, -0.98196386910955524), float2(0.18303988795514106, -0.98310548743121629), float2(0.17700422041214886, -0.98421009238692903), float2(0.17096188876030136, -0.98527764238894122), float2(0.16491312048997009, -0.98630809724459867), float2(0.15885814333386139, -0.98730141815785843), float2(0.15279718525844341, -0.98825756773074946), float2(0.14673047445536175, -0.98917650996478101), float2(0.14065823933284924, -0.99005821026229712), float2(0.13458070850712622, -0.99090263542778001), float2(0.12849811079379322, -0.99170975366909953), float2(0.12241067519921628, -0.99247953459870997), float2(0.11631863091190488, -0.9932119492347945), float2(0.11022220729388318, -0.99390697000235606), float2(0.10412163387205473, -0.99456457073425542), float2(0.09801714032956077, -0.99518472667219682), float2(0.091908956497132696, -0.99576741446765982), float2(0.08579731234443988, -0.996312612182778), float2(0.079682437971430126, -0.99682029929116567), float2(0.073564563599667454, -0.99729045667869021), float2(0.067443919563664106, -0.99772306664419164), float2(0.061320736302208648, -0.99811811290014918), float2(0.055195244349690031, -0.99847558057329477), float2(0.049067674327418126, -0.99879545620517241), float2(0.042938256934940959, -0.99907772775264536), float2(0.036807222941358991, -0.99932238458834954), float2(0.030674803176636581, -0.99952941750109314), float2(0.024541228522912264, -0.99969881869620425), float2(0.01840672990580482, -0.9998305817958234), float2(0.012271538285719944, -0.9999247018391445), float2(0.0061358846491545152, -0.99998117528260111), float2(0, -1), float2(-0.0061358846491543929, -0.99998117528260111), float2(-0.012271538285719823, -0.9999247018391445), float2(-0.018406729905804695, -0.9998305817958234), float2(-0.024541228522912142, -0.99969881869620425), float2(-0.030674803176636459, -0.99952941750109314), float2(-0.036807222941358866, -0.99932238458834954), float2(-0.042938256934940834, -0.99907772775264536), float2(-0.049067674327418008, -0.99879545620517241), float2(-0.055195244349689913, -0.99847558057329477), float2(-0.06132073630220853, -0.99811811290014918), float2(-0.067443919563663982, -0.99772306664419164), float2(-0.073564563599667329, -0.99729045667869021), float2(-0.079682437971430015, -0.99682029929116578), float2(-0.085797312344439755, -0.996312612182778), float2(-0.091908956497132571, -0.99576741446765982), float2(-0.098017140329560645, -0.99518472667219693), float2(-0.1041216338720546, -0.99456457073425542), float2(-0.11022220729388306, -0.99390697000235606), float2(-0.11631863091190475, -0.9932119492347945), float2(-0.12241067519921615, -0.99247953459870997), float2(-0.12849811079379311, -0.99170975366909953), float2(-0.13458070850712611, -0.99090263542778001), float2(-0.14065823933284913, -0.99005821026229712), float2(-0.14673047445536164, -0.98917650996478101), float2(-0.1527971852584433, -0.98825756773074946), float2(-0.15885814333386128, -0.98730141815785843), float2(-0.16491312048996995, -0.98630809724459867), float2(-0.17096188876030124, -0.98527764238894122), float2(-0.17700422041214875, -0.98421009238692903), float2(-0.18303988795514092, -0.98310548743121629), float2(-0.18906866414980616, -0.98196386910955524), float2(-0.19509032201612819, -0.98078528040323043), float2(-0.20110463484209182, -0.97956976568544052), float2(-0.20711137619221845, -0.97831737071962765), float2(-0.21311031991609125, -0.97702814265775439), float2(-0.21910124015686966, -0.97570213003852857), float2(-0.22508391135979267, -0.97433938278557586), float2(-0.23105810828067114, -0.97293995220556018), float2(-0.23702360599436723, -0.97150389098625178), float2(-0.24298017990326387, -0.97003125319454397), float2(-0.24892760574572012, -0.96852209427441738), float2(-0.25486565960451452, -0.96697647104485207), float2(-0.26079411791527546, -0.9653944416976894), float2(-0.26671275747489831, -0.96377606579543984), float2(-0.27262135544994887, -0.96212140426904158), float2(-0.27851968938505295, -0.9604305194155659), float2(-0.28440753721127171, -0.9587034748958716), float2(-0.29028467725446216, -0.95694033573220894), float2(-0.29615088824362384, -0.95514116830577067), float2(-0.30200594931922808, -0.95330604035419386), float2(-0.30784964004153487, -0.95143502096900834), float2(-0.31368174039889141, -0.94952818059303667), float2(-0.31950203081601564, -0.9475855910177412), float2(-0.32531029216226287, -0.94560732538052139), float2(-0.33110630575987632, -0.94359345816196039), float2(-0.33688985339221994, -0.94154406518302081), float2(-0.34266071731199427, -0.93945922360218992), float2(-0.3484186802494344, -0.93733901191257496), float2(-0.3541635254204904, -0.93518350993894761), float2(-0.35989503653498817, -0.93299279883473885), float2(-0.36561299780477385, -0.93076696107898371), float2(-0.37131719395183749, -0.92850608047321559), float2(-0.3770074102164182, -0.92621024213831138), float2(-0.38268343236508973, -0.92387953251128674), float2(-0.38834504669882619, -0.92151403934204201), float2(-0.39399204006104799, -0.91911385169005777), float2(-0.39962419984564668, -0.9166790599210427), float2(-0.40524131400498975, -0.91420975570353069), float2(-0.4108431710579038, -0.91170603200542988), float2(-0.41642956009763699, -0.90916798309052249), float2(-0.42200027079979968, -0.90659570451491533), float2(-0.42755509343028186, -0.90398929312344345), float2(-0.4330938188531519, -0.90134884704602203), float2(-0.43861623853852738, -0.89867446569395393), float2(-0.44412214457042914, -0.89596624975618522), float2(-0.44961132965460671, -0.89322430119551521), float2(-0.45508358712634372, -0.89044872324475799), float2(-0.46053871095824006, -0.88763962040285393), float2(-0.46597649576796601, -0.8847970984309379), float2(-0.4713967368259977, -0.88192126434835505), float2(-0.47679923006332192, -0.87901222642863353), float2(-0.48218377207912272, -0.8760700941954066), float2(-0.48755016014843572, -0.8730949784182902), float2(-0.49289819222978398, -0.87008699110871146), float2(-0.49822766697278159, -0.86704624551569276), float2(-0.50353838372571746, -0.86397285612158681), float2(-0.5088301425431071, -0.8608669386377672), float2(-0.51410274419322166, -0.85772861000027212), float2(-0.51935599016558964, -0.85455798836540053), float2(-0.52458968267846873, -0.8513551931052652), float2(-0.52980362468629472, -0.84812034480329723), float2(-0.53499761988709704, -0.84485356524970723), float2(-0.54017147272989285, -0.84155497743689844), float2(-0.54532498842204624, -0.83822470555483819), float2(-0.5504579729366047, -0.83486287498638012), float2(-0.55557023301960196, -0.83146961230254546), float2(-0.56066157619733592, -0.8280450452577558), float2(-0.56573181078361323, -0.82458930278502518), float2(-0.57078074588696714, -0.82110251499110476), float2(-0.57580819141784534, -0.81758481315158371), float2(-0.58081395809576442, -0.81403632970594852), float2(-0.58579785745643886, -0.81045719825259477), float2(-0.59075970185887405, -0.80684755354379945), float2(-0.59569930449243336, -0.80320753148064494), float2(-0.60061647938386875, -0.79953726910790524), float2(-0.60551104140432543, -0.79583690460888357), float2(-0.61038280627630959, -0.79210657730021228), float2(-0.61523159058062671, -0.78834642762660634), float2(-0.62005721176328921, -0.78455659715557513), float2(-0.62485948814238623, -0.7807372285720946), float2(-0.6296382389149271, -0.77688846567323244), float2(-0.63439328416364538, -0.7730104533627371), float2(-0.63912444486377573, -0.76910333764557959), float2(-0.64383154288979128, -0.76516726562245907), float2(-0.64851440102211244, -0.76120238548426189), float2(-0.65317284295377653, -0.75720884650648468), float2(-0.65780669329707864, -0.75318679904361252), float2(-0.66241577759017189, -0.74913639452345926), float2(-0.66699992230363736, -0.74505778544146606), float2(-0.67155895484701844, -0.74095112535495899), float2(-0.67609270357531581, -0.73681656887737002), float2(-0.68060099779545302, -0.73265427167241282), float2(-0.68508366777270024, -0.72846439044822531), float2(-0.68954054473706694, -0.72424708295146689), float2(-0.69397146088965378, -0.72000250796138177), float2(-0.6983762494089728, -0.71573082528381871), float2(-0.70275474445722508, -0.71143219574521666), float2(-0.70710678118654746, -0.70710678118654757), float2(-0.71143219574521654, -0.70275474445722519), float2(-0.71573082528381859, -0.69837624940897292), float2(-0.72000250796138165, -0.693971460889654), float2(-0.72424708295146678, -0.68954054473706705), float2(-0.7284643904482252, -0.68508366777270036), float2(-0.7326542716724127, -0.68060099779545324), float2(-0.7368165688773699, -0.67609270357531592), float2(-0.74095112535495888, -0.67155895484701855), float2(-0.74505778544146595, -0.66699992230363758), float2(-0.74913639452345915, -0.66241577759017201), float2(-0.75318679904361241, -0.65780669329707875), float2(-0.75720884650648457, -0.65317284295377664), float2(-0.76120238548426167, -0.64851440102211255), float2(-0.76516726562245896, -0.64383154288979139), float2(-0.76910333764557948, -0.63912444486377584), float2(-0.77301045336273699, -0.63439328416364549), float2(-0.77688846567323233, -0.62963823891492721), float2(-0.78073722857209449, -0.62485948814238634), float2(-0.78455659715557502, -0.62005721176328943), float2(-0.78834642762660623, -0.61523159058062693), float2(-0.79210657730021217, -0.6103828062763097), float2(-0.79583690460888346, -0.60551104140432566), float2(-0.79953726910790512, -0.60061647938386886), float2(-0.80320753148064483, -0.59569930449243347), float2(-0.80684755354379933, -0.59075970185887416), float2(-0.81045719825259466, -0.58579785745643898), float2(-0.81403632970594841, -0.58081395809576453), float2(-0.8175848131515836, -0.57580819141784545), float2(-0.82110251499110465, -0.57078074588696726), float2(-0.82458930278502507, -0.56573181078361345), float2(-0.82804504525775569, -0.56066157619733614), float2(-0.83146961230254535, -0.55557023301960218), float2(-0.83486287498638001, -0.55045797293660492), float2(-0.83822470555483808, -0.54532498842204635), float2(-0.84155497743689833, -0.54017147272989297), float2(-0.84485356524970712, -0.53499761988709715), float2(-0.84812034480329712, -0.52980362468629483), float2(-0.8513551931052652, -0.52458968267846895), float2(-0.85455798836540042, -0.51935599016558975), float2(-0.85772861000027201, -0.51410274419322177), float2(-0.86086693863776709, -0.50883014254310732), float2(-0.8639728561215867, -0.50353838372571769), float2(-0.86704624551569276, -0.49822766697278176), float2(-0.87008699110871135, -0.49289819222978415), float2(-0.87309497841829009, -0.48755016014843588), float2(-0.87607009419540649, -0.48218377207912289), float2(-0.87901222642863353, -0.47679923006332209), float2(-0.88192126434835494, -0.47139673682599786), float2(-0.88479709843093779, -0.46597649576796618), float2(-0.88763962040285382, -0.46053871095824023), float2(-0.89044872324475788, -0.45508358712634389), float2(-0.89322430119551521, -0.44961132965460687), float2(-0.89596624975618511, -0.44412214457042931), float2(-0.89867446569395393, -0.43861623853852755), float2(-0.90134884704602192, -0.43309381885315207), float2(-0.90398929312344334, -0.42755509343028203), float2(-0.90659570451491533, -0.42200027079979985), float2(-0.90916798309052238, -0.41642956009763715), float2(-0.91170603200542977, -0.41084317105790413), float2(-0.91420975570353069, -0.40524131400498992), float2(-0.91667905992104259, -0.39962419984564707), float2(-0.91911385169005777, -0.39399204006104815), float2(-0.92151403934204179, -0.38834504669882658), float2(-0.92387953251128674, -0.38268343236508989), float2(-0.92621024213831138, -0.37700741021641815), float2(-0.92850608047321548, -0.37131719395183771), float2(-0.93076696107898371, -0.3656129978047738), float2(-0.93299279883473885, -0.35989503653498833), float2(-0.93518350993894761, -0.3541635254204904), float2(-0.93733901191257485, -0.34841868024943479), float2(-0.93945922360218992, -0.34266071731199443), float2(-0.9415440651830207, -0.33688985339222033), float2(-0.94359345816196039, -0.33110630575987648), float2(-0.94560732538052117, -0.32531029216226326), float2(-0.94758559101774109, -0.3195020308160158), float2(-0.94952818059303667, -0.31368174039889141), float2(-0.95143502096900834, -0.30784964004153503), float2(-0.95330604035419386, -0.30200594931922803), float2(-0.95514116830577067, -0.29615088824362401), float2(-0.95694033573220882, -0.29028467725446239), float2(-0.95870347489587149, -0.2844075372112721), float2(-0.96043051941556579, -0.27851968938505317), float2(-0.96212140426904147, -0.27262135544994925), float2(-0.96377606579543984, -0.26671275747489848), float2(-0.96539444169768929, -0.26079411791527585), float2(-0.96697647104485207, -0.25486565960451468), float2(-0.96852209427441738, -0.24892760574572009), float2(-0.97003125319454397, -0.24298017990326407), float2(-0.97150389098625178, -0.23702360599436717), float2(-0.97293995220556007, -0.23105810828067133), float2(-0.97433938278557586, -0.22508391135979283), float2(-0.97570213003852846, -0.21910124015687005), float2(-0.97702814265775439, -0.21311031991609142), float2(-0.97831737071962754, -0.20711137619221884), float2(-0.97956976568544052, -0.20110463484209201), float2(-0.98078528040323043, -0.19509032201612861), float2(-0.98196386910955524, -0.18906866414980636), float2(-0.98310548743121629, -0.1830398879551409), float2(-0.98421009238692903, -0.17700422041214894), float2(-0.98527764238894122, -0.17096188876030122), float2(-0.98630809724459856, -0.16491312048997014), float2(-0.98730141815785843, -0.15885814333386147), float2(-0.98825756773074946, -0.15279718525844369), float2(-0.98917650996478101, -0.1467304744553618), float2(-0.99005821026229701, -0.14065823933284954), float2(-0.99090263542778001, -0.13458070850712628), float2(-0.99170975366909953, -0.12849811079379309), float2(-0.99247953459870997, -0.12241067519921635), float2(-0.9932119492347945, -0.11631863091190471), float2(-0.99390697000235606, -0.11022220729388324), float2(-0.99456457073425542, -0.10412163387205457), float2(-0.99518472667219682, -0.098017140329560826), float2(-0.99576741446765982, -0.091908956497132752), float2(-0.996312612182778, -0.085797312344440158), float2(-0.99682029929116567, -0.079682437971430195), float2(-0.99729045667869021, -0.073564563599667732), float2(-0.99772306664419164, -0.067443919563664176), float2(-0.99811811290014918, -0.061320736302208488), float2(-0.99847558057329477, -0.055195244349690094), float2(-0.99879545620517241, -0.049067674327417966), float2(-0.99907772775264536, -0.042938256934941021), float2(-0.99932238458834954, -0.036807222941358832), float2(-0.99952941750109314, -0.030674803176636865), float2(-0.99969881869620425, -0.024541228522912326), float2(-0.9998305817958234, -0.018406729905805101), float2(-0.9999247018391445, -0.012271538285720007), float2(-0.99998117528260111, -0.0061358846491547988), float2(-1, 0), float2(-0.99998117528260111, 0.0061358846491545542), float2(-0.9999247018391445, 0.012271538285719762), float2(-0.9998305817958234, 0.018406729905804858), float2(-0.99969881869620425, 0.02454122852291208), float2(-0.99952941750109314, 0.030674803176636619), float2(-0.99932238458834954, 0.036807222941358582), float2(-0.99907772775264536, 0.042938256934940779), float2(-0.99879545620517241, 0.049067674327417724), float2(-0.99847558057329477, 0.055195244349689851), float2(-0.99811811290014918, 0.061320736302208245), float2(-0.99772306664419164, 0.067443919563663926), float2(-0.99729045667869021, 0.073564563599667496), float2(-0.99682029929116578, 0.079682437971429945), float2(-0.996312612182778, 0.085797312344439922), float2(-0.99576741446765982, 0.091908956497132516), float2(-0.99518472667219693, 0.09801714032956059), float2(-0.99456457073425553, 0.10412163387205432), float2(-0.99390697000235606, 0.110222207293883), float2(-0.99321194923479461, 0.11631863091190447), float2(-0.99247953459870997, 0.1224106751992161), float2(-0.99170975366909953, 0.12849811079379284), float2(-0.99090263542778001, 0.13458070850712606), float2(-0.99005821026229712, 0.14065823933284929), float2(-0.98917650996478101, 0.14673047445536158), float2(-0.98825756773074946, 0.15279718525844344), float2(-0.98730141815785843, 0.15885814333386122), float2(-0.98630809724459867, 0.16491312048996989), float2(-0.98527764238894133, 0.17096188876030097), float2(-0.98421009238692914, 0.17700422041214869), float2(-0.9831054874312164, 0.18303988795514065), float2(-0.98196386910955524, 0.18906866414980611), float2(-0.98078528040323043, 0.19509032201612836), float2(-0.97956976568544052, 0.20110463484209176), float2(-0.97831737071962765, 0.20711137619221859), float2(-0.97702814265775439, 0.2131103199160912), float2(-0.97570213003852857, 0.2191012401568698), float2(-0.97433938278557586, 0.22508391135979261), float2(-0.97293995220556018, 0.23105810828067108), float2(-0.97150389098625189, 0.23702360599436695), float2(-0.97003125319454397, 0.24298017990326382), float2(-0.96852209427441738, 0.24892760574571987), float2(-0.96697647104485218, 0.25486565960451446), float2(-0.9653944416976894, 0.26079411791527563), float2(-0.96377606579543995, 0.26671275747489825), float2(-0.96212140426904158, 0.27262135544994903), float2(-0.9604305194155659, 0.27851968938505289), float2(-0.9587034748958716, 0.28440753721127182), float2(-0.95694033573220894, 0.29028467725446211), float2(-0.95514116830577078, 0.29615088824362379), float2(-0.95330604035419397, 0.30200594931922781), float2(-0.95143502096900845, 0.30784964004153481), float2(-0.94952818059303679, 0.31368174039889118), float2(-0.9475855910177412, 0.31950203081601558), float2(-0.94560732538052128, 0.32531029216226298), float2(-0.94359345816196039, 0.33110630575987626), float2(-0.94154406518302081, 0.33688985339222011), float2(-0.93945922360219003, 0.34266071731199421), float2(-0.93733901191257496, 0.34841868024943456), float2(-0.93518350993894772, 0.35416352542049012), float2(-0.93299279883473896, 0.35989503653498811), float2(-0.93076696107898382, 0.36561299780477358), float2(-0.92850608047321559, 0.37131719395183743), float2(-0.92621024213831149, 0.37700741021641793), float2(-0.92387953251128685, 0.38268343236508967), float2(-0.9215140393420419, 0.38834504669882636), float2(-0.91911385169005777, 0.39399204006104793), float2(-0.9166790599210427, 0.39962419984564684), float2(-0.91420975570353069, 0.40524131400498969), float2(-0.91170603200542988, 0.41084317105790391), float2(-0.90916798309052249, 0.41642956009763693), float2(-0.90659570451491545, 0.42200027079979963), float2(-0.90398929312344345, 0.42755509343028181), float2(-0.90134884704602203, 0.43309381885315185), float2(-0.89867446569395404, 0.43861623853852733), float2(-0.89596624975618522, 0.44412214457042909), float2(-0.89322430119551532, 0.44961132965460665), float2(-0.89044872324475799, 0.45508358712634367), float2(-0.88763962040285393, 0.46053871095824006), float2(-0.8847970984309379, 0.46597649576796596), float2(-0.88192126434835505, 0.47139673682599764), float2(-0.87901222642863364, 0.47679923006332187), float2(-0.8760700941954066, 0.48218377207912266), float2(-0.8730949784182902, 0.48755016014843566), float2(-0.87008699110871146, 0.49289819222978393), float2(-0.86704624551569287, 0.49822766697278154), float2(-0.86397285612158681, 0.50353838372571746), float2(-0.86086693863776731, 0.5088301425431071), float2(-0.85772861000027212, 0.51410274419322155), float2(-0.85455798836540053, 0.51935599016558964), float2(-0.85135519310526531, 0.52458968267846873), float2(-0.84812034480329723, 0.52980362468629461), float2(-0.84485356524970723, 0.53499761988709693), float2(-0.84155497743689844, 0.54017147272989285), float2(-0.83822470555483819, 0.54532498842204613), float2(-0.83486287498638012, 0.5504579729366047), float2(-0.83146961230254546, 0.55557023301960196), float2(-0.8280450452577558, 0.56066157619733592), float2(-0.82458930278502529, 0.56573181078361323), float2(-0.82110251499110476, 0.57078074588696714), float2(-0.81758481315158371, 0.57580819141784534), float2(-0.81403632970594852, 0.5808139580957643), float2(-0.81045719825259477, 0.58579785745643886), float2(-0.80684755354379945, 0.59075970185887394), float2(-0.80320753148064494, 0.59569930449243325), float2(-0.79953726910790524, 0.60061647938386864), float2(-0.79583690460888357, 0.60551104140432543), float2(-0.79210657730021228, 0.61038280627630948), float2(-0.78834642762660634, 0.61523159058062671), float2(-0.78455659715557524, 0.62005721176328921), float2(-0.7807372285720946, 0.62485948814238623), float2(-0.77688846567323244, 0.62963823891492698), float2(-0.7730104533627371, 0.63439328416364527), float2(-0.7691033376455797, 0.63912444486377573), float2(-0.76516726562245907, 0.64383154288979128), float2(-0.76120238548426189, 0.64851440102211233), float2(-0.75720884650648479, 0.65317284295377653), float2(-0.75318679904361263, 0.65780669329707853), float2(-0.74913639452345926, 0.66241577759017178), float2(-0.74505778544146606, 0.66699992230363736), float2(-0.74095112535495911, 0.67155895484701844), float2(-0.73681656887737002, 0.67609270357531581), float2(-0.73265427167241282, 0.68060099779545302), float2(-0.72846439044822542, 0.68508366777270013), float2(-0.724247082951467, 0.68954054473706683), float2(-0.72000250796138188, 0.69397146088965378), float2(-0.71573082528381871, 0.6983762494089728), float2(-0.71143219574521666, 0.70275474445722508), float2(-0.70710678118654768, 0.70710678118654746), float2(-0.7027547444572253, 0.71143219574521643), float2(-0.69837624940897303, 0.71573082528381848), float2(-0.693971460889654, 0.72000250796138165), float2(-0.68954054473706705, 0.72424708295146678), float2(-0.68508366777270036, 0.7284643904482252), float2(-0.68060099779545324, 0.73265427167241259), float2(-0.67609270357531603, 0.73681656887736979), float2(-0.67155895484701866, 0.74095112535495888), float2(-0.66699992230363758, 0.74505778544146584), float2(-0.66241577759017201, 0.74913639452345904), float2(-0.65780669329707875, 0.75318679904361241), float2(-0.65317284295377709, 0.75720884650648423), float2(-0.64851440102211222, 0.761202385484262), float2(-0.6438315428897915, 0.76516726562245896), float2(-0.63912444486377595, 0.76910333764557948), float2(-0.63439328416364593, 0.77301045336273666), float2(-0.62963823891492687, 0.77688846567323255), float2(-0.62485948814238645, 0.78073722857209438), float2(-0.62005721176328943, 0.78455659715557502), float2(-0.61523159058062726, 0.78834642762660589), float2(-0.61038280627630936, 0.79210657730021239), float2(-0.60551104140432566, 0.79583690460888346), float2(-0.60061647938386931, 0.79953726910790479), float2(-0.59569930449243313, 0.80320753148064505), float2(-0.59075970185887428, 0.80684755354379922), float2(-0.58579785745643909, 0.81045719825259466), float2(-0.58081395809576497, 0.81403632970594808), float2(-0.57580819141784523, 0.81758481315158382), float2(-0.57078074588696737, 0.82110251499110465), float2(-0.56573181078361345, 0.82458930278502507), float2(-0.56066157619733648, 0.82804504525775546), float2(-0.55557023301960218, 0.83146961230254524), float2(-0.55045797293660492, 0.83486287498638001), float2(-0.5453249884220468, 0.83822470555483786), float2(-0.54017147272989274, 0.84155497743689855), float2(-0.53499761988709726, 0.84485356524970701), float2(-0.52980362468629494, 0.84812034480329712), float2(-0.52458968267846939, 0.85135519310526486), float2(-0.51935599016558942, 0.85455798836540064), float2(-0.51410274419322177, 0.85772861000027201), float2(-0.50883014254310732, 0.86086693863776709), float2(-0.50353838372571802, 0.86397285612158647), float2(-0.49822766697278181, 0.86704624551569265), float2(-0.4928981922297842, 0.87008699110871135), float2(-0.48755016014843633, 0.87309497841828987), float2(-0.48218377207912255, 0.87607009419540671), float2(-0.47679923006332214, 0.87901222642863341), float2(-0.47139673682599786, 0.88192126434835494), float2(-0.46597649576796663, 0.88479709843093757), float2(-0.46053871095823989, 0.88763962040285405), float2(-0.45508358712634395, 0.89044872324475788), float2(-0.44961132965460693, 0.89322430119551521), float2(-0.44412214457042976, 0.89596624975618488), float2(-0.4386162385385276, 0.89867446569395382), float2(-0.43309381885315212, 0.90134884704602192), float2(-0.42755509343028247, 0.90398929312344312), float2(-0.42200027079979952, 0.90659570451491545), float2(-0.41642956009763721, 0.90916798309052238), float2(-0.41084317105790419, 0.91170603200542977), float2(-0.40524131400499036, 0.91420975570353047), float2(-0.39962419984564673, 0.9166790599210427), float2(-0.39399204006104821, 0.91911385169005766), float2(-0.38834504669882663, 0.92151403934204179), float2(-0.38268343236509034, 0.92387953251128652), float2(-0.3770074102164182, 0.92621024213831138), float2(-0.37131719395183777, 0.92850608047321548), float2(-0.3656129978047743, 0.9307669610789836), float2(-0.35989503653498794, 0.93299279883473896), float2(-0.35416352542049045, 0.93518350993894761), float2(-0.34841868024943484, 0.93733901191257485), float2(-0.34266071731199488, 0.9394592236021897), float2(-0.33688985339221994, 0.94154406518302081), float2(-0.33110630575987654, 0.94359345816196027), float2(-0.32531029216226331, 0.94560732538052117), float2(-0.31950203081601541, 0.9475855910177412), float2(-0.31368174039889146, 0.94952818059303667), float2(-0.30784964004153509, 0.95143502096900834), float2(-0.30200594931922853, 0.95330604035419375), float2(-0.29615088824362368, 0.95514116830577078), float2(-0.29028467725446244, 0.95694033573220882), float2(-0.28440753721127215, 0.95870347489587149), float2(-0.27851968938505361, 0.96043051941556568), float2(-0.27262135544994887, 0.96212140426904158), float2(-0.26671275747489853, 0.96377606579543984), float2(-0.2607941179152759, 0.96539444169768929), float2(-0.25486565960451435, 0.96697647104485218), float2(-0.24892760574572015, 0.96852209427441727), float2(-0.24298017990326412, 0.97003125319454397), float2(-0.23702360599436767, 0.97150389098625167), float2(-0.23105810828067094, 0.97293995220556018), float2(-0.22508391135979292, 0.97433938278557586), float2(-0.2191012401568701, 0.97570213003852846), float2(-0.21311031991609192, 0.97702814265775428), float2(-0.20711137619221848, 0.97831737071962765), float2(-0.20110463484209207, 0.97956976568544052), float2(-0.19509032201612866, 0.98078528040323032), float2(-0.18906866414980597, 0.98196386910955535), float2(-0.18303988795514095, 0.98310548743121629), float2(-0.177004220412149, 0.98421009238692903), float2(-0.17096188876030169, 0.98527764238894111), float2(-0.16491312048996976, 0.98630809724459867), float2(-0.15885814333386153, 0.98730141815785832), float2(-0.15279718525844374, 0.98825756773074946), float2(-0.1467304744553623, 0.9891765099647809), float2(-0.14065823933284916, 0.99005821026229712), float2(-0.13458070850712636, 0.99090263542778001), float2(-0.12849811079379359, 0.99170975366909953), float2(-0.12241067519921596, 0.99247953459871008), float2(-0.11631863091190477, 0.9932119492347945), float2(-0.11022220729388331, 0.99390697000235606), float2(-0.10412163387205507, 0.99456457073425542), float2(-0.098017140329560451, 0.99518472667219693), float2(-0.091908956497132821, 0.99576741446765982), float2(-0.085797312344440227, 0.996312612182778), float2(-0.079682437971430695, 0.99682029929116567), float2(-0.073564563599667357, 0.99729045667869021), float2(-0.067443919563664231, 0.99772306664419164), float2(-0.061320736302208995, 0.99811811290014918), float2(-0.055195244349689712, 0.99847558057329477), float2(-0.049067674327418029, 0.99879545620517241), float2(-0.042938256934941084, 0.99907772775264536), float2(-0.036807222941359331, 0.99932238458834943), float2(-0.030674803176636484, 0.99952941750109314), float2(-0.024541228522912389, 0.99969881869620425), float2(-0.018406729905805164, 0.9998305817958234), float2(-0.012271538285720512, 0.9999247018391445), float2(-0.0061358846491544163, 0.99998117528260111), float2(0, 1), float2(0.0061358846491540485, 0.99998117528260111), float2(0.012271538285720144, 0.9999247018391445), float2(0.018406729905804796, 0.9998305817958234), float2(0.024541228522912021, 0.99969881869620425), float2(0.030674803176636116, 0.99952941750109314), float2(0.036807222941358964, 0.99932238458834954), float2(0.042938256934940716, 0.99907772775264536), float2(0.049067674327417661, 0.99879545620517241), float2(0.055195244349689344, 0.99847558057329477), float2(0.061320736302208627, 0.99811811290014918), float2(0.067443919563663871, 0.99772306664419164), float2(0.073564563599666982, 0.99729045667869021), float2(0.079682437971430334, 0.99682029929116567), float2(0.085797312344439852, 0.996312612182778), float2(0.091908956497132446, 0.99576741446765982), float2(0.09801714032956009, 0.99518472667219693), float2(0.1041216338720547, 0.99456457073425542), float2(0.11022220729388293, 0.99390697000235606), float2(0.11631863091190441, 0.99321194923479461), float2(0.1224106751992156, 0.99247953459871008), float2(0.12849811079379322, 0.99170975366909953), float2(0.13458070850712597, 0.99090263542778001), float2(0.14065823933284879, 0.99005821026229712), float2(0.14673047445536194, 0.9891765099647809), float2(0.15279718525844338, 0.98825756773074946), float2(0.15885814333386117, 0.98730141815785843), float2(0.16491312048996939, 0.98630809724459878), float2(0.17096188876030133, 0.98527764238894122), float2(0.17700422041214864, 0.98421009238692914), float2(0.18303988795514059, 0.9831054874312164), float2(0.18906866414980561, 0.98196386910955535), float2(0.1950903220161283, 0.98078528040323043), float2(0.20110463484209171, 0.97956976568544063), float2(0.20711137619221812, 0.97831737071962777), float2(0.21311031991609156, 0.97702814265775428), float2(0.21910124015686974, 0.97570213003852857), float2(0.22508391135979255, 0.97433938278557597), float2(0.23105810828067058, 0.97293995220556029), float2(0.23702360599436731, 0.97150389098625178), float2(0.24298017990326376, 0.97003125319454397), float2(0.24892760574571979, 0.96852209427441738), float2(0.25486565960451396, 0.96697647104485229), float2(0.26079411791527551, 0.9653944416976894), float2(0.2667127574748982, 0.96377606579543995), float2(0.27262135544994853, 0.96212140426904169), float2(0.27851968938505328, 0.96043051941556579), float2(0.28440753721127177, 0.9587034748958716), float2(0.29028467725446205, 0.95694033573220894), float2(0.29615088824362329, 0.95514116830577089), float2(0.30200594931922814, 0.95330604035419386), float2(0.30784964004153476, 0.95143502096900845), float2(0.31368174039889113, 0.94952818059303679), float2(0.31950203081601508, 0.94758559101774131), float2(0.32531029216226293, 0.94560732538052128), float2(0.33110630575987621, 0.94359345816196039), float2(0.33688985339221961, 0.94154406518302092), float2(0.34266071731199454, 0.93945922360218981), float2(0.34841868024943451, 0.93733901191257496), float2(0.35416352542049007, 0.93518350993894772), float2(0.35989503653498761, 0.93299279883473907), float2(0.36561299780477396, 0.93076696107898371), float2(0.37131719395183738, 0.92850608047321559), float2(0.37700741021641787, 0.92621024213831149), float2(0.38268343236509, 0.92387953251128663), float2(0.3883450466988263, 0.9215140393420419), float2(0.39399204006104788, 0.91911385169005788), float2(0.3996241998456464, 0.91667905992104282), float2(0.40524131400499003, 0.91420975570353058), float2(0.41084317105790386, 0.91170603200542988), float2(0.41642956009763687, 0.90916798309052249), float2(0.42200027079979918, 0.90659570451491556), float2(0.42755509343028214, 0.90398929312344334), float2(0.43309381885315179, 0.90134884704602214), float2(0.43861623853852727, 0.89867446569395404), float2(0.44412214457042942, 0.895966249756185), float2(0.4496113296546066, 0.89322430119551532), float2(0.45508358712634361, 0.89044872324475799), float2(0.46053871095823956, 0.88763962040285416), float2(0.46597649576796629, 0.88479709843093768), float2(0.47139673682599759, 0.88192126434835505), float2(0.47679923006332187, 0.87901222642863364), float2(0.48218377207912222, 0.87607009419540693), float2(0.487550160148436, 0.87309497841829009), float2(0.49289819222978387, 0.87008699110871146), float2(0.49822766697278148, 0.86704624551569287), float2(0.5035383837257178, 0.86397285612158659), float2(0.50883014254310699, 0.86086693863776731), float2(0.51410274419322155, 0.85772861000027223), float2(0.5193559901655892, 0.85455798836540076), float2(0.52458968267846906, 0.85135519310526508), float2(0.52980362468629461, 0.84812034480329734), float2(0.53499761988709693, 0.84485356524970723), float2(0.54017147272989241, 0.84155497743689878), float2(0.54532498842204646, 0.83822470555483797), float2(0.5504579729366047, 0.83486287498638012), float2(0.55557023301960184, 0.83146961230254546), float2(0.56066157619733625, 0.82804504525775569), float2(0.56573181078361312, 0.82458930278502529), float2(0.57078074588696703, 0.82110251499110487), float2(0.57580819141784489, 0.81758481315158404), float2(0.58081395809576464, 0.8140363297059483), float2(0.58579785745643875, 0.81045719825259488), float2(0.59075970185887394, 0.80684755354379945), float2(0.59569930449243291, 0.80320753148064528), float2(0.60061647938386897, 0.79953726910790501), float2(0.60551104140432532, 0.79583690460888368), float2(0.61038280627630914, 0.79210657730021261), float2(0.61523159058062704, 0.78834642762660612), float2(0.6200572117632891, 0.78455659715557524), float2(0.62485948814238612, 0.7807372285720946), float2(0.62963823891492665, 0.77688846567323278), float2(0.6343932841636456, 0.77301045336273688), float2(0.63912444486377562, 0.7691033376455797), float2(0.64383154288979116, 0.76516726562245918), float2(0.648514401022112, 0.76120238548426222), float2(0.65317284295377676, 0.75720884650648457), float2(0.65780669329707853, 0.75318679904361263), float2(0.66241577759017145, 0.74913639452345959), float2(0.66699992230363769, 0.74505778544146584), float2(0.67155895484701833, 0.74095112535495911), float2(0.6760927035753157, 0.73681656887737002), float2(0.68060099779545269, 0.73265427167241315), float2(0.68508366777270047, 0.72846439044822509), float2(0.68954054473706683, 0.724247082951467), float2(0.69397146088965378, 0.72000250796138188), float2(0.69837624940897236, 0.71573082528381904), float2(0.7027547444572253, 0.71143219574521643), float2(0.70710678118654735, 0.70710678118654768), float2(0.7114321957452161, 0.70275474445722563), float2(0.71573082528381882, 0.69837624940897269), float2(0.72000250796138154, 0.693971460889654), float2(0.72424708295146667, 0.68954054473706716), float2(0.72846439044822486, 0.6850836677727008), float2(0.73265427167241293, 0.68060099779545302), float2(0.73681656887736979, 0.67609270357531603), float2(0.74095112535495888, 0.67155895484701866), float2(0.7450577854414655, 0.66699992230363803), float2(0.74913639452345937, 0.66241577759017178), float2(0.7531867990436123, 0.65780669329707886), float2(0.75720884650648423, 0.65317284295377709), float2(0.76120238548426189, 0.64851440102211233), float2(0.76516726562245885, 0.6438315428897915), float2(0.76910333764557948, 0.63912444486377595), float2(0.77301045336273666, 0.63439328416364593), float2(0.77688846567323255, 0.62963823891492698), float2(0.78073722857209438, 0.62485948814238645), float2(0.78455659715557502, 0.62005721176328954), float2(0.78834642762660589, 0.61523159058062737), float2(0.79210657730021239, 0.61038280627630948), float2(0.79583690460888334, 0.60551104140432566), float2(0.79953726910790479, 0.60061647938386931), float2(0.80320753148064505, 0.59569930449243325), float2(0.80684755354379922, 0.59075970185887428), float2(0.81045719825259466, 0.58579785745643909), float2(0.81403632970594808, 0.58081395809576497), float2(0.81758481315158371, 0.57580819141784523), float2(0.82110251499110454, 0.57078074588696737), float2(0.82458930278502507, 0.56573181078361356), float2(0.82804504525775535, 0.56066157619733659), float2(0.83146961230254524, 0.55557023301960218), float2(0.8348628749863799, 0.55045797293660503), float2(0.83822470555483775, 0.5453249884220468), float2(0.84155497743689844, 0.54017147272989274), float2(0.84485356524970701, 0.53499761988709726), float2(0.84812034480329712, 0.52980362468629494), float2(0.85135519310526486, 0.52458968267846939), float2(0.85455798836540053, 0.51935599016558953), float2(0.85772861000027201, 0.51410274419322188), float2(0.86086693863776709, 0.50883014254310743), float2(0.86397285612158636, 0.50353838372571813), float2(0.86704624551569265, 0.49822766697278187), float2(0.87008699110871135, 0.49289819222978426), float2(0.87309497841828987, 0.48755016014843638), float2(0.87607009419540671, 0.48218377207912261), float2(0.87901222642863341, 0.4767992300633222), float2(0.88192126434835483, 0.47139673682599792), float2(0.88479709843093746, 0.46597649576796668), float2(0.88763962040285393, 0.46053871095823995), float2(0.89044872324475777, 0.455083587126344), float2(0.8932243011955151, 0.44961132965460698), float2(0.89596624975618488, 0.44412214457042981), float2(0.89867446569395382, 0.43861623853852766), float2(0.90134884704602192, 0.43309381885315218), float2(0.90398929312344312, 0.42755509343028253), float2(0.90659570451491545, 0.42200027079979957), float2(0.90916798309052238, 0.41642956009763726), float2(0.91170603200542966, 0.41084317105790424), float2(0.91420975570353047, 0.40524131400499042), float2(0.9166790599210427, 0.39962419984564679), float2(0.91911385169005766, 0.39399204006104827), float2(0.92151403934204179, 0.38834504669882669), float2(0.92387953251128652, 0.38268343236509039), float2(0.92621024213831138, 0.37700741021641826), float2(0.92850608047321548, 0.37131719395183782), float2(0.93076696107898349, 0.36561299780477435), float2(0.93299279883473896, 0.359895036534988), float2(0.9351835099389475, 0.35416352542049051), float2(0.93733901191257485, 0.3484186802494349), float2(0.9394592236021897, 0.34266071731199493), float2(0.94154406518302081, 0.33688985339222), float2(0.94359345816196027, 0.3311063057598766), float2(0.94560732538052117, 0.32531029216226337), float2(0.9475855910177412, 0.31950203081601547), float2(0.94952818059303667, 0.31368174039889152), float2(0.95143502096900834, 0.30784964004153514), float2(0.95330604035419364, 0.30200594931922858), float2(0.95514116830577078, 0.29615088824362373), float2(0.95694033573220882, 0.2902846772544625), float2(0.95870347489587149, 0.28440753721127221), float2(0.96043051941556568, 0.27851968938505367), float2(0.96212140426904158, 0.27262135544994898), float2(0.96377606579543984, 0.26671275747489859), float2(0.96539444169768929, 0.26079411791527596), float2(0.96697647104485218, 0.25486565960451441), float2(0.96852209427441727, 0.2489276057457202), float2(0.97003125319454397, 0.24298017990326418), float2(0.97150389098625167, 0.23702360599436773), float2(0.97293995220556018, 0.231058108280671), float2(0.97433938278557586, 0.22508391135979297), float2(0.97570213003852846, 0.21910124015687016), float2(0.97702814265775417, 0.21311031991609197), float2(0.97831737071962765, 0.20711137619221853), float2(0.97956976568544052, 0.20110463484209212), float2(0.98078528040323032, 0.19509032201612872), float2(0.98196386910955535, 0.18906866414980603), float2(0.98310548743121629, 0.18303988795514101), float2(0.98421009238692903, 0.17700422041214905), float2(0.98527764238894111, 0.17096188876030177), float2(0.98630809724459867, 0.16491312048996981), float2(0.98730141815785832, 0.15885814333386158), float2(0.98825756773074946, 0.1527971852584438), float2(0.9891765099647809, 0.14673047445536239), float2(0.99005821026229712, 0.14065823933284921), float2(0.99090263542778001, 0.13458070850712642), float2(0.99170975366909941, 0.12849811079379364), float2(0.99247953459870997, 0.12241067519921603), float2(0.9932119492347945, 0.11631863091190484), float2(0.99390697000235606, 0.11022220729388336), float2(0.99456457073425542, 0.10412163387205513), float2(0.99518472667219693, 0.098017140329560506), float2(0.99576741446765982, 0.091908956497132877), float2(0.996312612182778, 0.085797312344440282), float2(0.99682029929116567, 0.07968243797143075), float2(0.99729045667869021, 0.073564563599667412), float2(0.99772306664419164, 0.067443919563664287), float2(0.99811811290014918, 0.061320736302209057), float2(0.99847558057329477, 0.055195244349689775), float2(0.99879545620517241, 0.049067674327418091), float2(0.99907772775264536, 0.042938256934941139), float2(0.99932238458834943, 0.036807222941359394), float2(0.99952941750109314, 0.030674803176636543), float2(0.99969881869620425, 0.024541228522912448), float2(0.9998305817958234, 0.018406729905805226), float2(0.9999247018391445, 0.012271538285720572), float2(0.99998117528260111, 0.006135884649154477), }; #endif #endif // __FOURIER_WATER_TWIDDLES_INC