use num_complex::Complex32;
#[allow(clippy::approx_constant)]
#[allow(clippy::excessive_precision)]
#[allow(clippy::unreadable_literal)]
pub(crate) const TWIDDLE: &[&[Complex32]] = &[
&[],
&[Complex32::new(1.0, 0.0)],
&[
Complex32::new(1.0, 0.0),
Complex32::new(6.123233995736766e-17, -1.0),
],
&[
Complex32::new(1.0, 0.0),
Complex32::new(0.7071067811865476, -0.7071067811865475),
Complex32::new(6.123233995736766e-17, -1.0),
Complex32::new(-0.7071067811865475, -0.7071067811865476),
],
&[
Complex32::new(1.0, 0.0),
Complex32::new(0.9238795325112867, -0.3826834323650898),
Complex32::new(0.7071067811865476, -0.7071067811865475),
Complex32::new(0.38268343236508984, -0.9238795325112867),
Complex32::new(6.123233995736766e-17, -1.0),
Complex32::new(-0.3826834323650897, -0.9238795325112867),
Complex32::new(-0.7071067811865475, -0.7071067811865476),
Complex32::new(-0.9238795325112867, -0.3826834323650899),
],
&[
Complex32::new(1.0, 0.0),
Complex32::new(0.9807852804032304, -0.19509032201612825),
Complex32::new(0.9238795325112867, -0.3826834323650898),
Complex32::new(0.8314696123025452, -0.5555702330196022),
Complex32::new(0.7071067811865476, -0.7071067811865475),
Complex32::new(0.5555702330196023, -0.8314696123025452),
Complex32::new(0.38268343236508984, -0.9238795325112867),
Complex32::new(0.19509032201612833, -0.9807852804032304),
Complex32::new(6.123233995736766e-17, -1.0),
Complex32::new(-0.1950903220161282, -0.9807852804032304),
Complex32::new(-0.3826834323650897, -0.9238795325112867),
Complex32::new(-0.555570233019602, -0.8314696123025455),
Complex32::new(-0.7071067811865475, -0.7071067811865476),
Complex32::new(-0.8314696123025453, -0.5555702330196022),
Complex32::new(-0.9238795325112867, -0.3826834323650899),
Complex32::new(-0.9807852804032304, -0.1950903220161286),
],
&[
Complex32::new(1.0, 0.0),
Complex32::new(0.9951847266721969, -0.0980171403295606),
Complex32::new(0.9807852804032304, -0.19509032201612825),
Complex32::new(0.9569403357322088, -0.29028467725446233),
Complex32::new(0.9238795325112867, -0.3826834323650898),
Complex32::new(0.881921264348355, -0.47139673682599764),
Complex32::new(0.8314696123025452, -0.5555702330196022),
Complex32::new(0.773010453362737, -0.6343932841636455),
Complex32::new(0.7071067811865476, -0.7071067811865475),
Complex32::new(0.6343932841636455, -0.773010453362737),
Complex32::new(0.5555702330196023, -0.8314696123025452),
Complex32::new(0.4713967368259978, -0.8819212643483549),
Complex32::new(0.38268343236508984, -0.9238795325112867),
Complex32::new(0.29028467725446233, -0.9569403357322089),
Complex32::new(0.19509032201612833, -0.9807852804032304),
Complex32::new(0.09801714032956077, -0.9951847266721968),
Complex32::new(6.123233995736766e-17, -1.0),
Complex32::new(-0.09801714032956065, -0.9951847266721969),
Complex32::new(-0.1950903220161282, -0.9807852804032304),
Complex32::new(-0.29028467725446216, -0.9569403357322089),
Complex32::new(-0.3826834323650897, -0.9238795325112867),
Complex32::new(-0.4713967368259977, -0.881921264348355),
Complex32::new(-0.555570233019602, -0.8314696123025455),
Complex32::new(-0.6343932841636454, -0.7730104533627371),
Complex32::new(-0.7071067811865475, -0.7071067811865476),
Complex32::new(-0.773010453362737, -0.6343932841636455),
Complex32::new(-0.8314696123025453, -0.5555702330196022),
Complex32::new(-0.8819212643483549, -0.47139673682599786),
Complex32::new(-0.9238795325112867, -0.3826834323650899),
Complex32::new(-0.9569403357322088, -0.2902846772544624),
Complex32::new(-0.9807852804032304, -0.1950903220161286),
Complex32::new(-0.9951847266721968, -0.09801714032956083),
],
&[
Complex32::new(1.0, 0.0),
Complex32::new(0.9987954562051724, -0.049067674327418015),
Complex32::new(0.9951847266721969, -0.0980171403295606),
Complex32::new(0.989176509964781, -0.14673047445536175),
Complex32::new(0.9807852804032304, -0.19509032201612825),
Complex32::new(0.970031253194544, -0.24298017990326387),
Complex32::new(0.9569403357322088, -0.29028467725446233),
Complex32::new(0.9415440651830208, -0.33688985339222005),
Complex32::new(0.9238795325112867, -0.3826834323650898),
Complex32::new(0.9039892931234433, -0.4275550934302821),
Complex32::new(0.881921264348355, -0.47139673682599764),
Complex32::new(0.8577286100002721, -0.5141027441932217),
Complex32::new(0.8314696123025452, -0.5555702330196022),
Complex32::new(0.8032075314806449, -0.5956993044924334),
Complex32::new(0.773010453362737, -0.6343932841636455),
Complex32::new(0.7409511253549591, -0.6715589548470183),
Complex32::new(0.7071067811865476, -0.7071067811865475),
Complex32::new(0.6715589548470183, -0.7409511253549591),
Complex32::new(0.6343932841636455, -0.773010453362737),
Complex32::new(0.5956993044924335, -0.8032075314806448),
Complex32::new(0.5555702330196023, -0.8314696123025452),
Complex32::new(0.5141027441932217, -0.8577286100002721),
Complex32::new(0.4713967368259978, -0.8819212643483549),
Complex32::new(0.4275550934302822, -0.9039892931234433),
Complex32::new(0.38268343236508984, -0.9238795325112867),
Complex32::new(0.33688985339222005, -0.9415440651830208),
Complex32::new(0.29028467725446233, -0.9569403357322089),
Complex32::new(0.24298017990326398, -0.970031253194544),
Complex32::new(0.19509032201612833, -0.9807852804032304),
Complex32::new(0.14673047445536175, -0.989176509964781),
Complex32::new(0.09801714032956077, -0.9951847266721968),
Complex32::new(0.049067674327418126, -0.9987954562051724),
Complex32::new(6.123233995736766e-17, -1.0),
Complex32::new(-0.04906767432741801, -0.9987954562051724),
Complex32::new(-0.09801714032956065, -0.9951847266721969),
Complex32::new(-0.14673047445536164, -0.989176509964781),
Complex32::new(-0.1950903220161282, -0.9807852804032304),
Complex32::new(-0.24298017990326387, -0.970031253194544),
Complex32::new(-0.29028467725446216, -0.9569403357322089),
Complex32::new(-0.33688985339221994, -0.9415440651830208),
Complex32::new(-0.3826834323650897, -0.9238795325112867),
Complex32::new(-0.42755509343028186, -0.9039892931234434),
Complex32::new(-0.4713967368259977, -0.881921264348355),
Complex32::new(-0.5141027441932217, -0.8577286100002721),
Complex32::new(-0.555570233019602, -0.8314696123025455),
Complex32::new(-0.5956993044924334, -0.8032075314806449),
Complex32::new(-0.6343932841636454, -0.7730104533627371),
Complex32::new(-0.6715589548470184, -0.740951125354959),
Complex32::new(-0.7071067811865475, -0.7071067811865476),
Complex32::new(-0.7409511253549589, -0.6715589548470186),
Complex32::new(-0.773010453362737, -0.6343932841636455),
Complex32::new(-0.8032075314806448, -0.5956993044924335),
Complex32::new(-0.8314696123025453, -0.5555702330196022),
Complex32::new(-0.857728610000272, -0.5141027441932218),
Complex32::new(-0.8819212643483549, -0.47139673682599786),
Complex32::new(-0.9039892931234433, -0.42755509343028203),
Complex32::new(-0.9238795325112867, -0.3826834323650899),
Complex32::new(-0.9415440651830207, -0.33688985339222033),
Complex32::new(-0.9569403357322088, -0.2902846772544624),
Complex32::new(-0.970031253194544, -0.24298017990326407),
Complex32::new(-0.9807852804032304, -0.1950903220161286),
Complex32::new(-0.989176509964781, -0.1467304744553618),
Complex32::new(-0.9951847266721968, -0.09801714032956083),
Complex32::new(-0.9987954562051724, -0.049067674327417966),
],
&[
Complex32::new(1.0, 0.0),
Complex32::new(0.9996988186962042, -0.024541228522912288),
Complex32::new(0.9987954562051724, -0.049067674327418015),
Complex32::new(0.9972904566786902, -0.07356456359966743),
Complex32::new(0.9951847266721969, -0.0980171403295606),
Complex32::new(0.99247953459871, -0.1224106751992162),
Complex32::new(0.989176509964781, -0.14673047445536175),
Complex32::new(0.9852776423889412, -0.17096188876030122),
Complex32::new(0.9807852804032304, -0.19509032201612825),
Complex32::new(0.9757021300385286, -0.2191012401568698),
Complex32::new(0.970031253194544, -0.24298017990326387),
Complex32::new(0.9637760657954398, -0.26671275747489837),
Complex32::new(0.9569403357322088, -0.29028467725446233),
Complex32::new(0.9495281805930367, -0.3136817403988915),
Complex32::new(0.9415440651830208, -0.33688985339222005),
Complex32::new(0.932992798834739, -0.3598950365349881),
Complex32::new(0.9238795325112867, -0.3826834323650898),
Complex32::new(0.9142097557035307, -0.40524131400498986),
Complex32::new(0.9039892931234433, -0.4275550934302821),
Complex32::new(0.8932243011955153, -0.44961132965460654),
Complex32::new(0.881921264348355, -0.47139673682599764),
Complex32::new(0.8700869911087115, -0.49289819222978404),
Complex32::new(0.8577286100002721, -0.5141027441932217),
Complex32::new(0.8448535652497071, -0.5349976198870972),
Complex32::new(0.8314696123025452, -0.5555702330196022),
Complex32::new(0.8175848131515837, -0.5758081914178453),
Complex32::new(0.8032075314806449, -0.5956993044924334),
Complex32::new(0.7883464276266063, -0.6152315905806268),
Complex32::new(0.773010453362737, -0.6343932841636455),
Complex32::new(0.7572088465064846, -0.6531728429537768),
Complex32::new(0.7409511253549591, -0.6715589548470183),
Complex32::new(0.724247082951467, -0.6895405447370668),
Complex32::new(0.7071067811865476, -0.7071067811865475),
Complex32::new(0.6895405447370669, -0.7242470829514669),
Complex32::new(0.6715589548470183, -0.7409511253549591),
Complex32::new(0.6531728429537768, -0.7572088465064845),
Complex32::new(0.6343932841636455, -0.773010453362737),
Complex32::new(0.6152315905806268, -0.7883464276266062),
Complex32::new(0.5956993044924335, -0.8032075314806448),
Complex32::new(0.5758081914178453, -0.8175848131515837),
Complex32::new(0.5555702330196023, -0.8314696123025452),
Complex32::new(0.5349976198870973, -0.844853565249707),
Complex32::new(0.5141027441932217, -0.8577286100002721),
Complex32::new(0.4928981922297841, -0.8700869911087113),
Complex32::new(0.4713967368259978, -0.8819212643483549),
Complex32::new(0.4496113296546066, -0.8932243011955153),
Complex32::new(0.4275550934302822, -0.9039892931234433),
Complex32::new(0.40524131400498986, -0.9142097557035307),
Complex32::new(0.38268343236508984, -0.9238795325112867),
Complex32::new(0.3598950365349883, -0.9329927988347388),
Complex32::new(0.33688985339222005, -0.9415440651830208),
Complex32::new(0.3136817403988916, -0.9495281805930367),
Complex32::new(0.29028467725446233, -0.9569403357322089),
Complex32::new(0.2667127574748984, -0.9637760657954398),
Complex32::new(0.24298017990326398, -0.970031253194544),
Complex32::new(0.21910124015686977, -0.9757021300385286),
Complex32::new(0.19509032201612833, -0.9807852804032304),
Complex32::new(0.17096188876030136, -0.9852776423889412),
Complex32::new(0.14673047445536175, -0.989176509964781),
Complex32::new(0.12241067519921628, -0.99247953459871),
Complex32::new(0.09801714032956077, -0.9951847266721968),
Complex32::new(0.07356456359966745, -0.9972904566786902),
Complex32::new(0.049067674327418126, -0.9987954562051724),
Complex32::new(0.024541228522912264, -0.9996988186962042),
Complex32::new(6.123233995736766e-17, -1.0),
Complex32::new(-0.024541228522912142, -0.9996988186962042),
Complex32::new(-0.04906767432741801, -0.9987954562051724),
Complex32::new(-0.07356456359966733, -0.9972904566786902),
Complex32::new(-0.09801714032956065, -0.9951847266721969),
Complex32::new(-0.12241067519921615, -0.99247953459871),
Complex32::new(-0.14673047445536164, -0.989176509964781),
Complex32::new(-0.17096188876030124, -0.9852776423889412),
Complex32::new(-0.1950903220161282, -0.9807852804032304),
Complex32::new(-0.21910124015686966, -0.9757021300385286),
Complex32::new(-0.24298017990326387, -0.970031253194544),
Complex32::new(-0.2667127574748983, -0.9637760657954398),
Complex32::new(-0.29028467725446216, -0.9569403357322089),
Complex32::new(-0.3136817403988914, -0.9495281805930367),
Complex32::new(-0.33688985339221994, -0.9415440651830208),
Complex32::new(-0.35989503653498817, -0.9329927988347388),
Complex32::new(-0.3826834323650897, -0.9238795325112867),
Complex32::new(-0.40524131400498975, -0.9142097557035307),
Complex32::new(-0.42755509343028186, -0.9039892931234434),
Complex32::new(-0.4496113296546067, -0.8932243011955152),
Complex32::new(-0.4713967368259977, -0.881921264348355),
Complex32::new(-0.492898192229784, -0.8700869911087115),
Complex32::new(-0.5141027441932217, -0.8577286100002721),
Complex32::new(-0.534997619887097, -0.8448535652497072),
Complex32::new(-0.555570233019602, -0.8314696123025455),
Complex32::new(-0.5758081914178453, -0.8175848131515837),
Complex32::new(-0.5956993044924334, -0.8032075314806449),
Complex32::new(-0.6152315905806267, -0.7883464276266063),
Complex32::new(-0.6343932841636454, -0.7730104533627371),
Complex32::new(-0.6531728429537765, -0.7572088465064847),
Complex32::new(-0.6715589548470184, -0.740951125354959),
Complex32::new(-0.6895405447370669, -0.7242470829514669),
Complex32::new(-0.7071067811865475, -0.7071067811865476),
Complex32::new(-0.7242470829514668, -0.689540544737067),
Complex32::new(-0.7409511253549589, -0.6715589548470186),
Complex32::new(-0.7572088465064846, -0.6531728429537766),
Complex32::new(-0.773010453362737, -0.6343932841636455),
Complex32::new(-0.7883464276266062, -0.6152315905806269),
Complex32::new(-0.8032075314806448, -0.5956993044924335),
Complex32::new(-0.8175848131515836, -0.5758081914178454),
Complex32::new(-0.8314696123025453, -0.5555702330196022),
Complex32::new(-0.8448535652497071, -0.5349976198870972),
Complex32::new(-0.857728610000272, -0.5141027441932218),
Complex32::new(-0.8700869911087113, -0.49289819222978415),
Complex32::new(-0.8819212643483549, -0.47139673682599786),
Complex32::new(-0.8932243011955152, -0.4496113296546069),
Complex32::new(-0.9039892931234433, -0.42755509343028203),
Complex32::new(-0.9142097557035307, -0.4052413140049899),
Complex32::new(-0.9238795325112867, -0.3826834323650899),
Complex32::new(-0.9329927988347388, -0.35989503653498833),
Complex32::new(-0.9415440651830207, -0.33688985339222033),
Complex32::new(-0.9495281805930367, -0.3136817403988914),
Complex32::new(-0.9569403357322088, -0.2902846772544624),
Complex32::new(-0.9637760657954398, -0.2667127574748985),
Complex32::new(-0.970031253194544, -0.24298017990326407),
Complex32::new(-0.9757021300385285, -0.21910124015687005),
Complex32::new(-0.9807852804032304, -0.1950903220161286),
Complex32::new(-0.9852776423889412, -0.17096188876030122),
Complex32::new(-0.989176509964781, -0.1467304744553618),
Complex32::new(-0.99247953459871, -0.12241067519921635),
Complex32::new(-0.9951847266721968, -0.09801714032956083),
Complex32::new(-0.9972904566786902, -0.07356456359966773),
Complex32::new(-0.9987954562051724, -0.049067674327417966),
Complex32::new(-0.9996988186962042, -0.024541228522912326),
],
&[
Complex32::new(1.0, 0.0),
Complex32::new(0.9999247018391445, -0.012271538285719925),
Complex32::new(0.9996988186962042, -0.024541228522912288),
Complex32::new(0.9993223845883495, -0.03680722294135883),
Complex32::new(0.9987954562051724, -0.049067674327418015),
Complex32::new(0.9981181129001492, -0.06132073630220858),
Complex32::new(0.9972904566786902, -0.07356456359966743),
Complex32::new(0.996312612182778, -0.0857973123444399),
Complex32::new(0.9951847266721969, -0.0980171403295606),
Complex32::new(0.9939069700023561, -0.11022220729388306),
Complex32::new(0.99247953459871, -0.1224106751992162),
Complex32::new(0.99090263542778, -0.13458070850712617),
Complex32::new(0.989176509964781, -0.14673047445536175),
Complex32::new(0.9873014181578584, -0.15885814333386145),
Complex32::new(0.9852776423889412, -0.17096188876030122),
Complex32::new(0.9831054874312163, -0.18303988795514095),
Complex32::new(0.9807852804032304, -0.19509032201612825),
Complex32::new(0.9783173707196277, -0.20711137619221856),
Complex32::new(0.9757021300385286, -0.2191012401568698),
Complex32::new(0.9729399522055602, -0.2310581082806711),
Complex32::new(0.970031253194544, -0.24298017990326387),
Complex32::new(0.9669764710448521, -0.25486565960451457),
Complex32::new(0.9637760657954398, -0.26671275747489837),
Complex32::new(0.9604305194155658, -0.27851968938505306),
Complex32::new(0.9569403357322088, -0.29028467725446233),
Complex32::new(0.9533060403541939, -0.3020059493192281),
Complex32::new(0.9495281805930367, -0.3136817403988915),
Complex32::new(0.9456073253805213, -0.3253102921622629),
Complex32::new(0.9415440651830208, -0.33688985339222005),
Complex32::new(0.937339011912575, -0.34841868024943456),
Complex32::new(0.932992798834739, -0.3598950365349881),
Complex32::new(0.9285060804732156, -0.37131719395183754),
Complex32::new(0.9238795325112867, -0.3826834323650898),
Complex32::new(0.9191138516900578, -0.3939920400610481),
Complex32::new(0.9142097557035307, -0.40524131400498986),
Complex32::new(0.9091679830905224, -0.41642956009763715),
Complex32::new(0.9039892931234433, -0.4275550934302821),
Complex32::new(0.8986744656939538, -0.43861623853852766),
Complex32::new(0.8932243011955153, -0.44961132965460654),
Complex32::new(0.8876396204028539, -0.46053871095824),
Complex32::new(0.881921264348355, -0.47139673682599764),
Complex32::new(0.8760700941954066, -0.4821837720791227),
Complex32::new(0.8700869911087115, -0.49289819222978404),
Complex32::new(0.8639728561215868, -0.5035383837257176),
Complex32::new(0.8577286100002721, -0.5141027441932217),
Complex32::new(0.8513551931052652, -0.524589682678469),
Complex32::new(0.8448535652497071, -0.5349976198870972),
Complex32::new(0.8382247055548381, -0.5453249884220465),
Complex32::new(0.8314696123025452, -0.5555702330196022),
Complex32::new(0.8245893027850253, -0.5657318107836131),
Complex32::new(0.8175848131515837, -0.5758081914178453),
Complex32::new(0.8104571982525948, -0.5857978574564389),
Complex32::new(0.8032075314806449, -0.5956993044924334),
Complex32::new(0.7958369046088836, -0.6055110414043255),
Complex32::new(0.7883464276266063, -0.6152315905806268),
Complex32::new(0.7807372285720945, -0.6248594881423863),
Complex32::new(0.773010453362737, -0.6343932841636455),
Complex32::new(0.765167265622459, -0.6438315428897914),
Complex32::new(0.7572088465064846, -0.6531728429537768),
Complex32::new(0.7491363945234594, -0.6624157775901718),
Complex32::new(0.7409511253549591, -0.6715589548470183),
Complex32::new(0.7326542716724128, -0.680600997795453),
Complex32::new(0.724247082951467, -0.6895405447370668),
Complex32::new(0.7157308252838186, -0.6983762494089729),
Complex32::new(0.7071067811865476, -0.7071067811865475),
Complex32::new(0.6983762494089729, -0.7157308252838186),
Complex32::new(0.6895405447370669, -0.7242470829514669),
Complex32::new(0.6806009977954531, -0.7326542716724128),
Complex32::new(0.6715589548470183, -0.7409511253549591),
Complex32::new(0.6624157775901718, -0.7491363945234593),
Complex32::new(0.6531728429537768, -0.7572088465064845),
Complex32::new(0.6438315428897915, -0.765167265622459),
Complex32::new(0.6343932841636455, -0.773010453362737),
Complex32::new(0.6248594881423865, -0.7807372285720944),
Complex32::new(0.6152315905806268, -0.7883464276266062),
Complex32::new(0.6055110414043255, -0.7958369046088835),
Complex32::new(0.5956993044924335, -0.8032075314806448),
Complex32::new(0.5857978574564389, -0.8104571982525948),
Complex32::new(0.5758081914178453, -0.8175848131515837),
Complex32::new(0.5657318107836132, -0.8245893027850253),
Complex32::new(0.5555702330196023, -0.8314696123025452),
Complex32::new(0.5453249884220465, -0.838224705554838),
Complex32::new(0.5349976198870973, -0.844853565249707),
Complex32::new(0.5245896826784688, -0.8513551931052652),
Complex32::new(0.5141027441932217, -0.8577286100002721),
Complex32::new(0.5035383837257176, -0.8639728561215867),
Complex32::new(0.4928981922297841, -0.8700869911087113),
Complex32::new(0.48218377207912283, -0.8760700941954066),
Complex32::new(0.4713967368259978, -0.8819212643483549),
Complex32::new(0.46053871095824, -0.8876396204028539),
Complex32::new(0.4496113296546066, -0.8932243011955153),
Complex32::new(0.4386162385385277, -0.8986744656939538),
Complex32::new(0.4275550934302822, -0.9039892931234433),
Complex32::new(0.4164295600976373, -0.9091679830905223),
Complex32::new(0.40524131400498986, -0.9142097557035307),
Complex32::new(0.3939920400610481, -0.9191138516900578),
Complex32::new(0.38268343236508984, -0.9238795325112867),
Complex32::new(0.3713171939518376, -0.9285060804732155),
Complex32::new(0.3598950365349883, -0.9329927988347388),
Complex32::new(0.3484186802494345, -0.937339011912575),
Complex32::new(0.33688985339222005, -0.9415440651830208),
Complex32::new(0.325310292162263, -0.9456073253805213),
Complex32::new(0.3136817403988916, -0.9495281805930367),
Complex32::new(0.3020059493192282, -0.9533060403541938),
Complex32::new(0.29028467725446233, -0.9569403357322089),
Complex32::new(0.27851968938505306, -0.9604305194155658),
Complex32::new(0.2667127574748984, -0.9637760657954398),
Complex32::new(0.2548656596045146, -0.9669764710448521),
Complex32::new(0.24298017990326398, -0.970031253194544),
Complex32::new(0.23105810828067128, -0.9729399522055601),
Complex32::new(0.21910124015686977, -0.9757021300385286),
Complex32::new(0.20711137619221856, -0.9783173707196277),
Complex32::new(0.19509032201612833, -0.9807852804032304),
Complex32::new(0.18303988795514106, -0.9831054874312163),
Complex32::new(0.17096188876030136, -0.9852776423889412),
Complex32::new(0.1588581433338614, -0.9873014181578584),
Complex32::new(0.14673047445536175, -0.989176509964781),
Complex32::new(0.13458070850712622, -0.99090263542778),
Complex32::new(0.12241067519921628, -0.99247953459871),
Complex32::new(0.11022220729388318, -0.9939069700023561),
Complex32::new(0.09801714032956077, -0.9951847266721968),
Complex32::new(0.08579731234443988, -0.996312612182778),
Complex32::new(0.07356456359966745, -0.9972904566786902),
Complex32::new(0.06132073630220865, -0.9981181129001492),
Complex32::new(0.049067674327418126, -0.9987954562051724),
Complex32::new(0.03680722294135899, -0.9993223845883495),
Complex32::new(0.024541228522912264, -0.9996988186962042),
Complex32::new(0.012271538285719944, -0.9999247018391445),
Complex32::new(6.123233995736766e-17, -1.0),
Complex32::new(-0.012271538285719823, -0.9999247018391445),
Complex32::new(-0.024541228522912142, -0.9996988186962042),
Complex32::new(-0.036807222941358866, -0.9993223845883495),
Complex32::new(-0.04906767432741801, -0.9987954562051724),
Complex32::new(-0.06132073630220853, -0.9981181129001492),
Complex32::new(-0.07356456359966733, -0.9972904566786902),
Complex32::new(-0.08579731234443976, -0.996312612182778),
Complex32::new(-0.09801714032956065, -0.9951847266721969),
Complex32::new(-0.11022220729388306, -0.9939069700023561),
Complex32::new(-0.12241067519921615, -0.99247953459871),
Complex32::new(-0.1345807085071261, -0.99090263542778),
Complex32::new(-0.14673047445536164, -0.989176509964781),
Complex32::new(-0.15885814333386128, -0.9873014181578584),
Complex32::new(-0.17096188876030124, -0.9852776423889412),
Complex32::new(-0.18303988795514092, -0.9831054874312163),
Complex32::new(-0.1950903220161282, -0.9807852804032304),
Complex32::new(-0.20711137619221845, -0.9783173707196277),
Complex32::new(-0.21910124015686966, -0.9757021300385286),
Complex32::new(-0.23105810828067114, -0.9729399522055602),
Complex32::new(-0.24298017990326387, -0.970031253194544),
Complex32::new(-0.2548656596045145, -0.9669764710448521),
Complex32::new(-0.2667127574748983, -0.9637760657954398),
Complex32::new(-0.27851968938505295, -0.9604305194155659),
Complex32::new(-0.29028467725446216, -0.9569403357322089),
Complex32::new(-0.3020059493192281, -0.9533060403541939),
Complex32::new(-0.3136817403988914, -0.9495281805930367),
Complex32::new(-0.32531029216226287, -0.9456073253805214),
Complex32::new(-0.33688985339221994, -0.9415440651830208),
Complex32::new(-0.3484186802494344, -0.937339011912575),
Complex32::new(-0.35989503653498817, -0.9329927988347388),
Complex32::new(-0.3713171939518375, -0.9285060804732156),
Complex32::new(-0.3826834323650897, -0.9238795325112867),
Complex32::new(-0.393992040061048, -0.9191138516900578),
Complex32::new(-0.40524131400498975, -0.9142097557035307),
Complex32::new(-0.416429560097637, -0.9091679830905225),
Complex32::new(-0.42755509343028186, -0.9039892931234434),
Complex32::new(-0.4386162385385274, -0.8986744656939539),
Complex32::new(-0.4496113296546067, -0.8932243011955152),
Complex32::new(-0.46053871095824006, -0.8876396204028539),
Complex32::new(-0.4713967368259977, -0.881921264348355),
Complex32::new(-0.4821837720791227, -0.8760700941954066),
Complex32::new(-0.492898192229784, -0.8700869911087115),
Complex32::new(-0.5035383837257175, -0.8639728561215868),
Complex32::new(-0.5141027441932217, -0.8577286100002721),
Complex32::new(-0.5245896826784687, -0.8513551931052652),
Complex32::new(-0.534997619887097, -0.8448535652497072),
Complex32::new(-0.5453249884220462, -0.8382247055548382),
Complex32::new(-0.555570233019602, -0.8314696123025455),
Complex32::new(-0.5657318107836132, -0.8245893027850252),
Complex32::new(-0.5758081914178453, -0.8175848131515837),
Complex32::new(-0.5857978574564389, -0.8104571982525948),
Complex32::new(-0.5956993044924334, -0.8032075314806449),
Complex32::new(-0.6055110414043254, -0.7958369046088836),
Complex32::new(-0.6152315905806267, -0.7883464276266063),
Complex32::new(-0.6248594881423862, -0.7807372285720946),
Complex32::new(-0.6343932841636454, -0.7730104533627371),
Complex32::new(-0.6438315428897913, -0.7651672656224591),
Complex32::new(-0.6531728429537765, -0.7572088465064847),
Complex32::new(-0.6624157775901719, -0.7491363945234593),
Complex32::new(-0.6715589548470184, -0.740951125354959),
Complex32::new(-0.680600997795453, -0.7326542716724128),
Complex32::new(-0.6895405447370669, -0.7242470829514669),
Complex32::new(-0.6983762494089728, -0.7157308252838187),
Complex32::new(-0.7071067811865475, -0.7071067811865476),
Complex32::new(-0.7157308252838186, -0.6983762494089729),
Complex32::new(-0.7242470829514668, -0.689540544737067),
Complex32::new(-0.7326542716724127, -0.6806009977954532),
Complex32::new(-0.7409511253549589, -0.6715589548470186),
Complex32::new(-0.7491363945234591, -0.662415777590172),
Complex32::new(-0.7572088465064846, -0.6531728429537766),
Complex32::new(-0.765167265622459, -0.6438315428897914),
Complex32::new(-0.773010453362737, -0.6343932841636455),
Complex32::new(-0.7807372285720945, -0.6248594881423863),
Complex32::new(-0.7883464276266062, -0.6152315905806269),
Complex32::new(-0.7958369046088835, -0.6055110414043257),
Complex32::new(-0.8032075314806448, -0.5956993044924335),
Complex32::new(-0.8104571982525947, -0.585797857456439),
Complex32::new(-0.8175848131515836, -0.5758081914178454),
Complex32::new(-0.8245893027850251, -0.5657318107836135),
Complex32::new(-0.8314696123025453, -0.5555702330196022),
Complex32::new(-0.8382247055548381, -0.5453249884220464),
Complex32::new(-0.8448535652497071, -0.5349976198870972),
Complex32::new(-0.8513551931052652, -0.524589682678469),
Complex32::new(-0.857728610000272, -0.5141027441932218),
Complex32::new(-0.8639728561215867, -0.5035383837257177),
Complex32::new(-0.8700869911087113, -0.49289819222978415),
Complex32::new(-0.8760700941954065, -0.4821837720791229),
Complex32::new(-0.8819212643483549, -0.47139673682599786),
Complex32::new(-0.8876396204028538, -0.4605387109582402),
Complex32::new(-0.8932243011955152, -0.4496113296546069),
Complex32::new(-0.8986744656939539, -0.43861623853852755),
Complex32::new(-0.9039892931234433, -0.42755509343028203),
Complex32::new(-0.9091679830905224, -0.41642956009763715),
Complex32::new(-0.9142097557035307, -0.4052413140049899),
Complex32::new(-0.9191138516900578, -0.39399204006104815),
Complex32::new(-0.9238795325112867, -0.3826834323650899),
Complex32::new(-0.9285060804732155, -0.3713171939518377),
Complex32::new(-0.9329927988347388, -0.35989503653498833),
Complex32::new(-0.9373390119125748, -0.3484186802494348),
Complex32::new(-0.9415440651830207, -0.33688985339222033),
Complex32::new(-0.9456073253805212, -0.32531029216226326),
Complex32::new(-0.9495281805930367, -0.3136817403988914),
Complex32::new(-0.9533060403541939, -0.30200594931922803),
Complex32::new(-0.9569403357322088, -0.2902846772544624),
Complex32::new(-0.9604305194155658, -0.27851968938505317),
Complex32::new(-0.9637760657954398, -0.2667127574748985),
Complex32::new(-0.9669764710448521, -0.2548656596045147),
Complex32::new(-0.970031253194544, -0.24298017990326407),
Complex32::new(-0.9729399522055601, -0.23105810828067133),
Complex32::new(-0.9757021300385285, -0.21910124015687005),
Complex32::new(-0.9783173707196275, -0.20711137619221884),
Complex32::new(-0.9807852804032304, -0.1950903220161286),
Complex32::new(-0.9831054874312163, -0.1830398879551409),
Complex32::new(-0.9852776423889412, -0.17096188876030122),
Complex32::new(-0.9873014181578584, -0.15885814333386147),
Complex32::new(-0.989176509964781, -0.1467304744553618),
Complex32::new(-0.99090263542778, -0.13458070850712628),
Complex32::new(-0.99247953459871, -0.12241067519921635),
Complex32::new(-0.9939069700023561, -0.11022220729388324),
Complex32::new(-0.9951847266721968, -0.09801714032956083),
Complex32::new(-0.996312612182778, -0.08579731234444016),
Complex32::new(-0.9972904566786902, -0.07356456359966773),
Complex32::new(-0.9981181129001492, -0.06132073630220849),
Complex32::new(-0.9987954562051724, -0.049067674327417966),
Complex32::new(-0.9993223845883495, -0.03680722294135883),
Complex32::new(-0.9996988186962042, -0.024541228522912326),
Complex32::new(-0.9999247018391445, -0.012271538285720007),
],
&[
Complex32::new(1.0, 0.0),
Complex32::new(0.9999811752826011, -0.006135884649154475),
Complex32::new(0.9999247018391445, -0.012271538285719925),
Complex32::new(0.9998305817958234, -0.01840672990580482),
Complex32::new(0.9996988186962042, -0.024541228522912288),
Complex32::new(0.9995294175010931, -0.030674803176636626),
Complex32::new(0.9993223845883495, -0.03680722294135883),
Complex32::new(0.9990777277526454, -0.04293825693494082),
Complex32::new(0.9987954562051724, -0.049067674327418015),
Complex32::new(0.9984755805732948, -0.055195244349689934),
Complex32::new(0.9981181129001492, -0.06132073630220858),
Complex32::new(0.9977230666441916, -0.06744391956366405),
Complex32::new(0.9972904566786902, -0.07356456359966743),
Complex32::new(0.9968202992911657, -0.07968243797143013),
Complex32::new(0.996312612182778, -0.0857973123444399),
Complex32::new(0.9957674144676598, -0.09190895649713272),
Complex32::new(0.9951847266721969, -0.0980171403295606),
Complex32::new(0.9945645707342554, -0.10412163387205459),
Complex32::new(0.9939069700023561, -0.11022220729388306),
Complex32::new(0.9932119492347945, -0.11631863091190475),
Complex32::new(0.99247953459871, -0.1224106751992162),
Complex32::new(0.9917097536690995, -0.12849811079379317),
Complex32::new(0.99090263542778, -0.13458070850712617),
Complex32::new(0.9900582102622971, -0.1406582393328492),
Complex32::new(0.989176509964781, -0.14673047445536175),
Complex32::new(0.9882575677307495, -0.15279718525844344),
Complex32::new(0.9873014181578584, -0.15885814333386145),
Complex32::new(0.9863080972445987, -0.16491312048996992),
Complex32::new(0.9852776423889412, -0.17096188876030122),
Complex32::new(0.984210092386929, -0.17700422041214875),
Complex32::new(0.9831054874312163, -0.18303988795514095),
Complex32::new(0.9819638691095552, -0.1890686641498062),
Complex32::new(0.9807852804032304, -0.19509032201612825),
Complex32::new(0.9795697656854405, -0.2011046348420919),
Complex32::new(0.9783173707196277, -0.20711137619221856),
Complex32::new(0.9770281426577544, -0.21311031991609136),
Complex32::new(0.9757021300385286, -0.2191012401568698),
Complex32::new(0.9743393827855759, -0.22508391135979283),
Complex32::new(0.9729399522055602, -0.2310581082806711),
Complex32::new(0.9715038909862518, -0.2370236059943672),
Complex32::new(0.970031253194544, -0.24298017990326387),
Complex32::new(0.9685220942744174, -0.24892760574572015),
Complex32::new(0.9669764710448521, -0.25486565960451457),
Complex32::new(0.9653944416976894, -0.2607941179152755),
Complex32::new(0.9637760657954398, -0.26671275747489837),
Complex32::new(0.9621214042690416, -0.272621355449949),
Complex32::new(0.9604305194155658, -0.27851968938505306),
Complex32::new(0.9587034748958716, -0.2844075372112719),
Complex32::new(0.9569403357322088, -0.29028467725446233),
Complex32::new(0.9551411683057708, -0.2961508882436238),
Complex32::new(0.9533060403541939, -0.3020059493192281),
Complex32::new(0.9514350209690083, -0.30784964004153487),
Complex32::new(0.9495281805930367, -0.3136817403988915),
Complex32::new(0.9475855910177411, -0.3195020308160157),
Complex32::new(0.9456073253805213, -0.3253102921622629),
Complex32::new(0.9435934581619604, -0.33110630575987643),
Complex32::new(0.9415440651830208, -0.33688985339222005),
Complex32::new(0.9394592236021899, -0.3426607173119944),
Complex32::new(0.937339011912575, -0.34841868024943456),
Complex32::new(0.9351835099389476, -0.35416352542049034),
Complex32::new(0.932992798834739, -0.3598950365349881),
Complex32::new(0.9307669610789837, -0.36561299780477385),
Complex32::new(0.9285060804732156, -0.37131719395183754),
Complex32::new(0.9262102421383114, -0.37700741021641826),
Complex32::new(0.9238795325112867, -0.3826834323650898),
Complex32::new(0.921514039342042, -0.38834504669882625),
Complex32::new(0.9191138516900578, -0.3939920400610481),
Complex32::new(0.9166790599210427, -0.3996241998456468),
Complex32::new(0.9142097557035307, -0.40524131400498986),
Complex32::new(0.9117060320054299, -0.4108431710579039),
Complex32::new(0.9091679830905224, -0.41642956009763715),
Complex32::new(0.9065957045149153, -0.4220002707997997),
Complex32::new(0.9039892931234433, -0.4275550934302821),
Complex32::new(0.901348847046022, -0.43309381885315196),
Complex32::new(0.8986744656939538, -0.43861623853852766),
Complex32::new(0.8959662497561852, -0.4441221445704292),
Complex32::new(0.8932243011955153, -0.44961132965460654),
Complex32::new(0.8904487232447579, -0.45508358712634384),
Complex32::new(0.8876396204028539, -0.46053871095824),
Complex32::new(0.8847970984309378, -0.4659764957679662),
Complex32::new(0.881921264348355, -0.47139673682599764),
Complex32::new(0.8790122264286335, -0.4767992300633221),
Complex32::new(0.8760700941954066, -0.4821837720791227),
Complex32::new(0.8730949784182901, -0.487550160148436),
Complex32::new(0.8700869911087115, -0.49289819222978404),
Complex32::new(0.8670462455156926, -0.49822766697278187),
Complex32::new(0.8639728561215868, -0.5035383837257176),
Complex32::new(0.8608669386377673, -0.508830142543107),
Complex32::new(0.8577286100002721, -0.5141027441932217),
Complex32::new(0.8545579883654005, -0.5193559901655896),
Complex32::new(0.8513551931052652, -0.524589682678469),
Complex32::new(0.8481203448032972, -0.5298036246862946),
Complex32::new(0.8448535652497071, -0.5349976198870972),
Complex32::new(0.8415549774368984, -0.5401714727298929),
Complex32::new(0.8382247055548381, -0.5453249884220465),
Complex32::new(0.83486287498638, -0.5504579729366048),
Complex32::new(0.8314696123025452, -0.5555702330196022),
Complex32::new(0.8280450452577558, -0.560661576197336),
Complex32::new(0.8245893027850253, -0.5657318107836131),
Complex32::new(0.8211025149911046, -0.5707807458869673),
Complex32::new(0.8175848131515837, -0.5758081914178453),
Complex32::new(0.8140363297059484, -0.5808139580957645),
Complex32::new(0.8104571982525948, -0.5857978574564389),
Complex32::new(0.8068475535437993, -0.5907597018588742),
Complex32::new(0.8032075314806449, -0.5956993044924334),
Complex32::new(0.799537269107905, -0.600616479383869),
Complex32::new(0.7958369046088836, -0.6055110414043255),
Complex32::new(0.7921065773002124, -0.6103828062763095),
Complex32::new(0.7883464276266063, -0.6152315905806268),
Complex32::new(0.7845565971555752, -0.6200572117632891),
Complex32::new(0.7807372285720945, -0.6248594881423863),
Complex32::new(0.7768884656732324, -0.629638238914927),
Complex32::new(0.773010453362737, -0.6343932841636455),
Complex32::new(0.7691033376455797, -0.6391244448637757),
Complex32::new(0.765167265622459, -0.6438315428897914),
Complex32::new(0.7612023854842618, -0.6485144010221124),
Complex32::new(0.7572088465064846, -0.6531728429537768),
Complex32::new(0.7531867990436125, -0.6578066932970786),
Complex32::new(0.7491363945234594, -0.6624157775901718),
Complex32::new(0.7450577854414661, -0.6669999223036375),
Complex32::new(0.7409511253549591, -0.6715589548470183),
Complex32::new(0.7368165688773699, -0.6760927035753159),
Complex32::new(0.7326542716724128, -0.680600997795453),
Complex32::new(0.7284643904482252, -0.6850836677727004),
Complex32::new(0.724247082951467, -0.6895405447370668),
Complex32::new(0.7200025079613817, -0.693971460889654),
Complex32::new(0.7157308252838186, -0.6983762494089729),
Complex32::new(0.7114321957452164, -0.7027547444572253),
Complex32::new(0.7071067811865476, -0.7071067811865475),
Complex32::new(0.7027547444572253, -0.7114321957452164),
Complex32::new(0.6983762494089729, -0.7157308252838186),
Complex32::new(0.693971460889654, -0.7200025079613817),
Complex32::new(0.6895405447370669, -0.7242470829514669),
Complex32::new(0.6850836677727004, -0.7284643904482252),
Complex32::new(0.6806009977954531, -0.7326542716724128),
Complex32::new(0.676092703575316, -0.7368165688773698),
Complex32::new(0.6715589548470183, -0.7409511253549591),
Complex32::new(0.6669999223036375, -0.745057785441466),
Complex32::new(0.6624157775901718, -0.7491363945234593),
Complex32::new(0.6578066932970786, -0.7531867990436124),
Complex32::new(0.6531728429537768, -0.7572088465064845),
Complex32::new(0.6485144010221126, -0.7612023854842618),
Complex32::new(0.6438315428897915, -0.765167265622459),
Complex32::new(0.6391244448637757, -0.7691033376455796),
Complex32::new(0.6343932841636455, -0.773010453362737),
Complex32::new(0.6296382389149271, -0.7768884656732324),
Complex32::new(0.6248594881423865, -0.7807372285720944),
Complex32::new(0.6200572117632892, -0.7845565971555752),
Complex32::new(0.6152315905806268, -0.7883464276266062),
Complex32::new(0.6103828062763095, -0.7921065773002124),
Complex32::new(0.6055110414043255, -0.7958369046088835),
Complex32::new(0.600616479383869, -0.799537269107905),
Complex32::new(0.5956993044924335, -0.8032075314806448),
Complex32::new(0.5907597018588743, -0.8068475535437992),
Complex32::new(0.5857978574564389, -0.8104571982525948),
Complex32::new(0.5808139580957645, -0.8140363297059483),
Complex32::new(0.5758081914178453, -0.8175848131515837),
Complex32::new(0.5707807458869674, -0.8211025149911046),
Complex32::new(0.5657318107836132, -0.8245893027850253),
Complex32::new(0.560661576197336, -0.8280450452577558),
Complex32::new(0.5555702330196023, -0.8314696123025452),
Complex32::new(0.5504579729366048, -0.83486287498638),
Complex32::new(0.5453249884220465, -0.838224705554838),
Complex32::new(0.540171472729893, -0.8415549774368983),
Complex32::new(0.5349976198870973, -0.844853565249707),
Complex32::new(0.5298036246862948, -0.8481203448032971),
Complex32::new(0.5245896826784688, -0.8513551931052652),
Complex32::new(0.5193559901655895, -0.8545579883654005),
Complex32::new(0.5141027441932217, -0.8577286100002721),
Complex32::new(0.508830142543107, -0.8608669386377673),
Complex32::new(0.5035383837257176, -0.8639728561215867),
Complex32::new(0.49822766697278187, -0.8670462455156926),
Complex32::new(0.4928981922297841, -0.8700869911087113),
Complex32::new(0.48755016014843605, -0.8730949784182901),
Complex32::new(0.48218377207912283, -0.8760700941954066),
Complex32::new(0.47679923006332225, -0.8790122264286334),
Complex32::new(0.4713967368259978, -0.8819212643483549),
Complex32::new(0.4659764957679661, -0.8847970984309378),
Complex32::new(0.46053871095824, -0.8876396204028539),
Complex32::new(0.45508358712634384, -0.8904487232447579),
Complex32::new(0.4496113296546066, -0.8932243011955153),
Complex32::new(0.44412214457042926, -0.8959662497561851),
Complex32::new(0.4386162385385277, -0.8986744656939538),
Complex32::new(0.433093818853152, -0.901348847046022),
Complex32::new(0.4275550934302822, -0.9039892931234433),
Complex32::new(0.4220002707997998, -0.9065957045149153),
Complex32::new(0.4164295600976373, -0.9091679830905223),
Complex32::new(0.4108431710579039, -0.9117060320054299),
Complex32::new(0.40524131400498986, -0.9142097557035307),
Complex32::new(0.3996241998456468, -0.9166790599210427),
Complex32::new(0.3939920400610481, -0.9191138516900578),
Complex32::new(0.3883450466988263, -0.9215140393420419),
Complex32::new(0.38268343236508984, -0.9238795325112867),
Complex32::new(0.3770074102164183, -0.9262102421383113),
Complex32::new(0.3713171939518376, -0.9285060804732155),
Complex32::new(0.36561299780477396, -0.9307669610789837),
Complex32::new(0.3598950365349883, -0.9329927988347388),
Complex32::new(0.3541635254204905, -0.9351835099389475),
Complex32::new(0.3484186802494345, -0.937339011912575),
Complex32::new(0.3426607173119944, -0.9394592236021899),
Complex32::new(0.33688985339222005, -0.9415440651830208),
Complex32::new(0.33110630575987643, -0.9435934581619604),
Complex32::new(0.325310292162263, -0.9456073253805213),
Complex32::new(0.31950203081601575, -0.9475855910177411),
Complex32::new(0.3136817403988916, -0.9495281805930367),
Complex32::new(0.307849640041535, -0.9514350209690083),
Complex32::new(0.3020059493192282, -0.9533060403541938),
Complex32::new(0.29615088824362396, -0.9551411683057707),
Complex32::new(0.29028467725446233, -0.9569403357322089),
Complex32::new(0.2844075372112718, -0.9587034748958716),
Complex32::new(0.27851968938505306, -0.9604305194155658),
Complex32::new(0.272621355449949, -0.9621214042690416),
Complex32::new(0.2667127574748984, -0.9637760657954398),
Complex32::new(0.26079411791527557, -0.9653944416976894),
Complex32::new(0.2548656596045146, -0.9669764710448521),
Complex32::new(0.24892760574572026, -0.9685220942744173),
Complex32::new(0.24298017990326398, -0.970031253194544),
Complex32::new(0.23702360599436734, -0.9715038909862518),
Complex32::new(0.23105810828067128, -0.9729399522055601),
Complex32::new(0.22508391135979278, -0.9743393827855759),
Complex32::new(0.21910124015686977, -0.9757021300385286),
Complex32::new(0.21311031991609136, -0.9770281426577544),
Complex32::new(0.20711137619221856, -0.9783173707196277),
Complex32::new(0.20110463484209196, -0.9795697656854405),
Complex32::new(0.19509032201612833, -0.9807852804032304),
Complex32::new(0.18906866414980628, -0.9819638691095552),
Complex32::new(0.18303988795514106, -0.9831054874312163),
Complex32::new(0.17700422041214886, -0.984210092386929),
Complex32::new(0.17096188876030136, -0.9852776423889412),
Complex32::new(0.1649131204899701, -0.9863080972445987),
Complex32::new(0.1588581433338614, -0.9873014181578584),
Complex32::new(0.1527971852584434, -0.9882575677307495),
Complex32::new(0.14673047445536175, -0.989176509964781),
Complex32::new(0.14065823933284924, -0.9900582102622971),
Complex32::new(0.13458070850712622, -0.99090263542778),
Complex32::new(0.12849811079379322, -0.9917097536690995),
Complex32::new(0.12241067519921628, -0.99247953459871),
Complex32::new(0.11631863091190488, -0.9932119492347945),
Complex32::new(0.11022220729388318, -0.9939069700023561),
Complex32::new(0.10412163387205473, -0.9945645707342554),
Complex32::new(0.09801714032956077, -0.9951847266721968),
Complex32::new(0.0919089564971327, -0.9957674144676598),
Complex32::new(0.08579731234443988, -0.996312612182778),
Complex32::new(0.07968243797143013, -0.9968202992911657),
Complex32::new(0.07356456359966745, -0.9972904566786902),
Complex32::new(0.0674439195636641, -0.9977230666441916),
Complex32::new(0.06132073630220865, -0.9981181129001492),
Complex32::new(0.05519524434969003, -0.9984755805732948),
Complex32::new(0.049067674327418126, -0.9987954562051724),
Complex32::new(0.04293825693494096, -0.9990777277526454),
Complex32::new(0.03680722294135899, -0.9993223845883495),
Complex32::new(0.03067480317663658, -0.9995294175010931),
Complex32::new(0.024541228522912264, -0.9996988186962042),
Complex32::new(0.01840672990580482, -0.9998305817958234),
Complex32::new(0.012271538285719944, -0.9999247018391445),
Complex32::new(0.006135884649154515, -0.9999811752826011),
Complex32::new(6.123233995736766e-17, -1.0),
Complex32::new(-0.006135884649154393, -0.9999811752826011),
Complex32::new(-0.012271538285719823, -0.9999247018391445),
Complex32::new(-0.018406729905804695, -0.9998305817958234),
Complex32::new(-0.024541228522912142, -0.9996988186962042),
Complex32::new(-0.03067480317663646, -0.9995294175010931),
Complex32::new(-0.036807222941358866, -0.9993223845883495),
Complex32::new(-0.042938256934940834, -0.9990777277526454),
Complex32::new(-0.04906767432741801, -0.9987954562051724),
Complex32::new(-0.05519524434968991, -0.9984755805732948),
Complex32::new(-0.06132073630220853, -0.9981181129001492),
Complex32::new(-0.06744391956366398, -0.9977230666441916),
Complex32::new(-0.07356456359966733, -0.9972904566786902),
Complex32::new(-0.07968243797143001, -0.9968202992911658),
Complex32::new(-0.08579731234443976, -0.996312612182778),
Complex32::new(-0.09190895649713257, -0.9957674144676598),
Complex32::new(-0.09801714032956065, -0.9951847266721969),
Complex32::new(-0.1041216338720546, -0.9945645707342554),
Complex32::new(-0.11022220729388306, -0.9939069700023561),
Complex32::new(-0.11631863091190475, -0.9932119492347945),
Complex32::new(-0.12241067519921615, -0.99247953459871),
Complex32::new(-0.1284981107937931, -0.9917097536690995),
Complex32::new(-0.1345807085071261, -0.99090263542778),
Complex32::new(-0.14065823933284913, -0.9900582102622971),
Complex32::new(-0.14673047445536164, -0.989176509964781),
Complex32::new(-0.1527971852584433, -0.9882575677307495),
Complex32::new(-0.15885814333386128, -0.9873014181578584),
Complex32::new(-0.16491312048996995, -0.9863080972445987),
Complex32::new(-0.17096188876030124, -0.9852776423889412),
Complex32::new(-0.17700422041214875, -0.984210092386929),
Complex32::new(-0.18303988795514092, -0.9831054874312163),
Complex32::new(-0.18906866414980616, -0.9819638691095552),
Complex32::new(-0.1950903220161282, -0.9807852804032304),
Complex32::new(-0.20110463484209182, -0.9795697656854405),
Complex32::new(-0.20711137619221845, -0.9783173707196277),
Complex32::new(-0.21311031991609125, -0.9770281426577544),
Complex32::new(-0.21910124015686966, -0.9757021300385286),
Complex32::new(-0.22508391135979267, -0.9743393827855759),
Complex32::new(-0.23105810828067114, -0.9729399522055602),
Complex32::new(-0.23702360599436723, -0.9715038909862518),
Complex32::new(-0.24298017990326387, -0.970031253194544),
Complex32::new(-0.24892760574572012, -0.9685220942744174),
Complex32::new(-0.2548656596045145, -0.9669764710448521),
Complex32::new(-0.26079411791527546, -0.9653944416976894),
Complex32::new(-0.2667127574748983, -0.9637760657954398),
Complex32::new(-0.27262135544994887, -0.9621214042690416),
Complex32::new(-0.27851968938505295, -0.9604305194155659),
Complex32::new(-0.2844075372112717, -0.9587034748958716),
Complex32::new(-0.29028467725446216, -0.9569403357322089),
Complex32::new(-0.29615088824362384, -0.9551411683057707),
Complex32::new(-0.3020059493192281, -0.9533060403541939),
Complex32::new(-0.30784964004153487, -0.9514350209690083),
Complex32::new(-0.3136817403988914, -0.9495281805930367),
Complex32::new(-0.31950203081601564, -0.9475855910177412),
Complex32::new(-0.32531029216226287, -0.9456073253805214),
Complex32::new(-0.3311063057598763, -0.9435934581619604),
Complex32::new(-0.33688985339221994, -0.9415440651830208),
Complex32::new(-0.34266071731199427, -0.9394592236021899),
Complex32::new(-0.3484186802494344, -0.937339011912575),
Complex32::new(-0.3541635254204904, -0.9351835099389476),
Complex32::new(-0.35989503653498817, -0.9329927988347388),
Complex32::new(-0.36561299780477385, -0.9307669610789837),
Complex32::new(-0.3713171939518375, -0.9285060804732156),
Complex32::new(-0.3770074102164182, -0.9262102421383114),
Complex32::new(-0.3826834323650897, -0.9238795325112867),
Complex32::new(-0.3883450466988262, -0.921514039342042),
Complex32::new(-0.393992040061048, -0.9191138516900578),
Complex32::new(-0.3996241998456467, -0.9166790599210427),
Complex32::new(-0.40524131400498975, -0.9142097557035307),
Complex32::new(-0.4108431710579038, -0.9117060320054299),
Complex32::new(-0.416429560097637, -0.9091679830905225),
Complex32::new(-0.4220002707997997, -0.9065957045149153),
Complex32::new(-0.42755509343028186, -0.9039892931234434),
Complex32::new(-0.4330938188531519, -0.901348847046022),
Complex32::new(-0.4386162385385274, -0.8986744656939539),
Complex32::new(-0.44412214457042914, -0.8959662497561852),
Complex32::new(-0.4496113296546067, -0.8932243011955152),
Complex32::new(-0.4550835871263437, -0.890448723244758),
Complex32::new(-0.46053871095824006, -0.8876396204028539),
Complex32::new(-0.465976495767966, -0.8847970984309379),
Complex32::new(-0.4713967368259977, -0.881921264348355),
Complex32::new(-0.4767992300633219, -0.8790122264286335),
Complex32::new(-0.4821837720791227, -0.8760700941954066),
Complex32::new(-0.4875501601484357, -0.8730949784182902),
Complex32::new(-0.492898192229784, -0.8700869911087115),
Complex32::new(-0.4982276669727816, -0.8670462455156928),
Complex32::new(-0.5035383837257175, -0.8639728561215868),
Complex32::new(-0.5088301425431071, -0.8608669386377672),
Complex32::new(-0.5141027441932217, -0.8577286100002721),
Complex32::new(-0.5193559901655896, -0.8545579883654005),
Complex32::new(-0.5245896826784687, -0.8513551931052652),
Complex32::new(-0.5298036246862947, -0.8481203448032972),
Complex32::new(-0.534997619887097, -0.8448535652497072),
Complex32::new(-0.5401714727298929, -0.8415549774368984),
Complex32::new(-0.5453249884220462, -0.8382247055548382),
Complex32::new(-0.5504579729366047, -0.8348628749863801),
Complex32::new(-0.555570233019602, -0.8314696123025455),
Complex32::new(-0.5606615761973359, -0.8280450452577558),
Complex32::new(-0.5657318107836132, -0.8245893027850252),
Complex32::new(-0.5707807458869671, -0.8211025149911048),
Complex32::new(-0.5758081914178453, -0.8175848131515837),
Complex32::new(-0.5808139580957644, -0.8140363297059485),
Complex32::new(-0.5857978574564389, -0.8104571982525948),
Complex32::new(-0.590759701858874, -0.8068475535437994),
Complex32::new(-0.5956993044924334, -0.8032075314806449),
Complex32::new(-0.6006164793838688, -0.7995372691079052),
Complex32::new(-0.6055110414043254, -0.7958369046088836),
Complex32::new(-0.6103828062763096, -0.7921065773002123),
Complex32::new(-0.6152315905806267, -0.7883464276266063),
Complex32::new(-0.6200572117632892, -0.7845565971555751),
Complex32::new(-0.6248594881423862, -0.7807372285720946),
Complex32::new(-0.6296382389149271, -0.7768884656732324),
Complex32::new(-0.6343932841636454, -0.7730104533627371),
Complex32::new(-0.6391244448637757, -0.7691033376455796),
Complex32::new(-0.6438315428897913, -0.7651672656224591),
Complex32::new(-0.6485144010221124, -0.7612023854842619),
Complex32::new(-0.6531728429537765, -0.7572088465064847),
Complex32::new(-0.6578066932970786, -0.7531867990436125),
Complex32::new(-0.6624157775901719, -0.7491363945234593),
Complex32::new(-0.6669999223036374, -0.7450577854414661),
Complex32::new(-0.6715589548470184, -0.740951125354959),
Complex32::new(-0.6760927035753158, -0.73681656887737),
Complex32::new(-0.680600997795453, -0.7326542716724128),
Complex32::new(-0.6850836677727002, -0.7284643904482253),
Complex32::new(-0.6895405447370669, -0.7242470829514669),
Complex32::new(-0.6939714608896538, -0.7200025079613818),
Complex32::new(-0.6983762494089728, -0.7157308252838187),
Complex32::new(-0.7027547444572251, -0.7114321957452167),
Complex32::new(-0.7071067811865475, -0.7071067811865476),
Complex32::new(-0.7114321957452165, -0.7027547444572252),
Complex32::new(-0.7157308252838186, -0.6983762494089729),
Complex32::new(-0.7200025079613817, -0.693971460889654),
Complex32::new(-0.7242470829514668, -0.689540544737067),
Complex32::new(-0.7284643904482252, -0.6850836677727004),
Complex32::new(-0.7326542716724127, -0.6806009977954532),
Complex32::new(-0.7368165688773699, -0.6760927035753159),
Complex32::new(-0.7409511253549589, -0.6715589548470186),
Complex32::new(-0.745057785441466, -0.6669999223036376),
Complex32::new(-0.7491363945234591, -0.662415777590172),
Complex32::new(-0.7531867990436124, -0.6578066932970787),
Complex32::new(-0.7572088465064846, -0.6531728429537766),
Complex32::new(-0.7612023854842617, -0.6485144010221126),
Complex32::new(-0.765167265622459, -0.6438315428897914),
Complex32::new(-0.7691033376455795, -0.6391244448637758),
Complex32::new(-0.773010453362737, -0.6343932841636455),
Complex32::new(-0.7768884656732323, -0.6296382389149272),
Complex32::new(-0.7807372285720945, -0.6248594881423863),
Complex32::new(-0.784556597155575, -0.6200572117632894),
Complex32::new(-0.7883464276266062, -0.6152315905806269),
Complex32::new(-0.7921065773002122, -0.6103828062763097),
Complex32::new(-0.7958369046088835, -0.6055110414043257),
Complex32::new(-0.7995372691079051, -0.6006164793838689),
Complex32::new(-0.8032075314806448, -0.5956993044924335),
Complex32::new(-0.8068475535437993, -0.5907597018588742),
Complex32::new(-0.8104571982525947, -0.585797857456439),
Complex32::new(-0.8140363297059484, -0.5808139580957645),
Complex32::new(-0.8175848131515836, -0.5758081914178454),
Complex32::new(-0.8211025149911046, -0.5707807458869673),
Complex32::new(-0.8245893027850251, -0.5657318107836135),
Complex32::new(-0.8280450452577557, -0.5606615761973361),
Complex32::new(-0.8314696123025453, -0.5555702330196022),
Complex32::new(-0.83486287498638, -0.5504579729366049),
Complex32::new(-0.8382247055548381, -0.5453249884220464),
Complex32::new(-0.8415549774368983, -0.540171472729893),
Complex32::new(-0.8448535652497071, -0.5349976198870972),
Complex32::new(-0.8481203448032971, -0.5298036246862948),
Complex32::new(-0.8513551931052652, -0.524589682678469),
Complex32::new(-0.8545579883654004, -0.5193559901655898),
Complex32::new(-0.857728610000272, -0.5141027441932218),
Complex32::new(-0.8608669386377671, -0.5088301425431073),
Complex32::new(-0.8639728561215867, -0.5035383837257177),
Complex32::new(-0.8670462455156928, -0.49822766697278176),
Complex32::new(-0.8700869911087113, -0.49289819222978415),
Complex32::new(-0.8730949784182901, -0.4875501601484359),
Complex32::new(-0.8760700941954065, -0.4821837720791229),
Complex32::new(-0.8790122264286335, -0.4767992300633221),
Complex32::new(-0.8819212643483549, -0.47139673682599786),
Complex32::new(-0.8847970984309378, -0.4659764957679662),
Complex32::new(-0.8876396204028538, -0.4605387109582402),
Complex32::new(-0.8904487232447579, -0.4550835871263439),
Complex32::new(-0.8932243011955152, -0.4496113296546069),
Complex32::new(-0.8959662497561851, -0.4441221445704293),
Complex32::new(-0.8986744656939539, -0.43861623853852755),
Complex32::new(-0.9013488470460219, -0.43309381885315207),
Complex32::new(-0.9039892931234433, -0.42755509343028203),
Complex32::new(-0.9065957045149153, -0.42200027079979985),
Complex32::new(-0.9091679830905224, -0.41642956009763715),
Complex32::new(-0.9117060320054298, -0.41084317105790413),
Complex32::new(-0.9142097557035307, -0.4052413140049899),
Complex32::new(-0.9166790599210426, -0.39962419984564707),
Complex32::new(-0.9191138516900578, -0.39399204006104815),
Complex32::new(-0.9215140393420418, -0.3883450466988266),
Complex32::new(-0.9238795325112867, -0.3826834323650899),
Complex32::new(-0.9262102421383114, -0.37700741021641815),
Complex32::new(-0.9285060804732155, -0.3713171939518377),
Complex32::new(-0.9307669610789837, -0.3656129978047738),
Complex32::new(-0.9329927988347388, -0.35989503653498833),
Complex32::new(-0.9351835099389476, -0.3541635254204904),
Complex32::new(-0.9373390119125748, -0.3484186802494348),
Complex32::new(-0.9394592236021899, -0.34266071731199443),
Complex32::new(-0.9415440651830207, -0.33688985339222033),
Complex32::new(-0.9435934581619604, -0.3311063057598765),
Complex32::new(-0.9456073253805212, -0.32531029216226326),
Complex32::new(-0.9475855910177411, -0.3195020308160158),
Complex32::new(-0.9495281805930367, -0.3136817403988914),
Complex32::new(-0.9514350209690083, -0.30784964004153503),
Complex32::new(-0.9533060403541939, -0.30200594931922803),
Complex32::new(-0.9551411683057707, -0.296150888243624),
Complex32::new(-0.9569403357322088, -0.2902846772544624),
Complex32::new(-0.9587034748958715, -0.2844075372112721),
Complex32::new(-0.9604305194155658, -0.27851968938505317),
Complex32::new(-0.9621214042690415, -0.27262135544994925),
Complex32::new(-0.9637760657954398, -0.2667127574748985),
Complex32::new(-0.9653944416976893, -0.26079411791527585),
Complex32::new(-0.9669764710448521, -0.2548656596045147),
Complex32::new(-0.9685220942744174, -0.2489276057457201),
Complex32::new(-0.970031253194544, -0.24298017990326407),
Complex32::new(-0.9715038909862518, -0.23702360599436717),
Complex32::new(-0.9729399522055601, -0.23105810828067133),
Complex32::new(-0.9743393827855759, -0.22508391135979283),
Complex32::new(-0.9757021300385285, -0.21910124015687005),
Complex32::new(-0.9770281426577544, -0.21311031991609142),
Complex32::new(-0.9783173707196275, -0.20711137619221884),
Complex32::new(-0.9795697656854405, -0.201104634842092),
Complex32::new(-0.9807852804032304, -0.1950903220161286),
Complex32::new(-0.9819638691095552, -0.18906866414980636),
Complex32::new(-0.9831054874312163, -0.1830398879551409),
Complex32::new(-0.984210092386929, -0.17700422041214894),
Complex32::new(-0.9852776423889412, -0.17096188876030122),
Complex32::new(-0.9863080972445986, -0.16491312048997014),
Complex32::new(-0.9873014181578584, -0.15885814333386147),
Complex32::new(-0.9882575677307495, -0.15279718525844369),
Complex32::new(-0.989176509964781, -0.1467304744553618),
Complex32::new(-0.990058210262297, -0.14065823933284954),
Complex32::new(-0.99090263542778, -0.13458070850712628),
Complex32::new(-0.9917097536690995, -0.12849811079379309),
Complex32::new(-0.99247953459871, -0.12241067519921635),
Complex32::new(-0.9932119492347945, -0.11631863091190471),
Complex32::new(-0.9939069700023561, -0.11022220729388324),
Complex32::new(-0.9945645707342554, -0.10412163387205457),
Complex32::new(-0.9951847266721968, -0.09801714032956083),
Complex32::new(-0.9957674144676598, -0.09190895649713275),
Complex32::new(-0.996312612182778, -0.08579731234444016),
Complex32::new(-0.9968202992911657, -0.0796824379714302),
Complex32::new(-0.9972904566786902, -0.07356456359966773),
Complex32::new(-0.9977230666441916, -0.06744391956366418),
Complex32::new(-0.9981181129001492, -0.06132073630220849),
Complex32::new(-0.9984755805732948, -0.055195244349690094),
Complex32::new(-0.9987954562051724, -0.049067674327417966),
Complex32::new(-0.9990777277526454, -0.04293825693494102),
Complex32::new(-0.9993223845883495, -0.03680722294135883),
Complex32::new(-0.9995294175010931, -0.030674803176636865),
Complex32::new(-0.9996988186962042, -0.024541228522912326),
Complex32::new(-0.9998305817958234, -0.0184067299058051),
Complex32::new(-0.9999247018391445, -0.012271538285720007),
Complex32::new(-0.9999811752826011, -0.006135884649154799),
],
];
pub(crate) const BITREV: &[&[u16]] = &[
&[0],
&[0, 1],
&[0, 2, 2, 3],
&[0, 4, 2, 6, 4, 5, 6, 7],
&[0, 8, 4, 12, 4, 10, 6, 14, 8, 9, 10, 13, 12, 13, 14, 15],
&[
0, 16, 8, 24, 4, 20, 12, 28, 8, 18, 10, 26, 12, 22, 14, 30, 16, 17, 18, 25, 20, 21, 22, 29,
24, 25, 26, 27, 28, 29, 30, 31,
],
&[
0, 32, 16, 48, 8, 40, 24, 56, 8, 36, 20, 52, 12, 44, 28, 60, 16, 34, 18, 50, 20, 42, 26,
58, 24, 38, 26, 54, 28, 46, 30, 62, 32, 33, 34, 49, 36, 41, 38, 57, 40, 41, 42, 53, 44, 45,
46, 61, 48, 49, 50, 51, 52, 53, 54, 59, 56, 57, 58, 59, 60, 61, 62, 63,
],
&[
0, 64, 32, 96, 16, 80, 48, 112, 8, 72, 40, 104, 24, 88, 56, 120, 16, 68, 36, 100, 20, 84,
52, 116, 24, 76, 44, 108, 28, 92, 60, 124, 32, 66, 34, 98, 36, 82, 50, 114, 40, 74, 42,
106, 44, 90, 58, 122, 48, 70, 50, 102, 52, 86, 54, 118, 56, 78, 58, 110, 60, 94, 62, 126,
64, 65, 66, 97, 68, 81, 70, 113, 72, 73, 74, 105, 76, 89, 78, 121, 80, 81, 82, 101, 84, 85,
86, 117, 88, 89, 90, 109, 92, 93, 94, 125, 96, 97, 98, 99, 100, 101, 102, 115, 104, 105,
106, 107, 108, 109, 110, 123, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
124, 125, 126, 127,
],
&[
0, 128, 64, 192, 32, 160, 96, 224, 16, 144, 80, 208, 48, 176, 112, 240, 16, 136, 72, 200,
40, 168, 104, 232, 24, 152, 88, 216, 56, 184, 120, 248, 32, 132, 68, 196, 36, 164, 100,
228, 40, 148, 84, 212, 52, 180, 116, 244, 48, 140, 76, 204, 52, 172, 108, 236, 56, 156, 92,
220, 60, 188, 124, 252, 64, 130, 66, 194, 68, 162, 98, 226, 72, 146, 82, 210, 76, 178, 114,
242, 80, 138, 82, 202, 84, 170, 106, 234, 88, 154, 90, 218, 92, 186, 122, 250, 96, 134, 98,
198, 100, 166, 102, 230, 104, 150, 106, 214, 108, 182, 118, 246, 112, 142, 114, 206, 116,
174, 118, 238, 120, 158, 122, 222, 124, 190, 126, 254, 128, 129, 130, 193, 132, 161, 134,
225, 136, 145, 138, 209, 140, 177, 142, 241, 144, 145, 146, 201, 148, 169, 150, 233, 152,
153, 154, 217, 156, 185, 158, 249, 160, 161, 162, 197, 164, 165, 166, 229, 168, 169, 170,
213, 172, 181, 174, 245, 176, 177, 178, 205, 180, 181, 182, 237, 184, 185, 186, 221, 188,
189, 190, 253, 192, 193, 194, 195, 196, 197, 198, 227, 200, 201, 202, 211, 204, 205, 206,
243, 208, 209, 210, 211, 212, 213, 214, 235, 216, 217, 218, 219, 220, 221, 222, 251, 224,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 247, 240, 241, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
],
&[
0, 256, 128, 384, 64, 320, 192, 448, 32, 288, 160, 416, 96, 352, 224, 480, 16, 272, 144,
400, 80, 336, 208, 464, 48, 304, 176, 432, 112, 368, 240, 496, 32, 264, 136, 392, 72, 328,
200, 456, 40, 296, 168, 424, 104, 360, 232, 488, 48, 280, 152, 408, 88, 344, 216, 472, 56,
312, 184, 440, 120, 376, 248, 504, 64, 260, 132, 388, 68, 324, 196, 452, 72, 292, 164, 420,
100, 356, 228, 484, 80, 276, 148, 404, 84, 340, 212, 468, 88, 308, 180, 436, 116, 372, 244,
500, 96, 268, 140, 396, 100, 332, 204, 460, 104, 300, 172, 428, 108, 364, 236, 492, 112,
284, 156, 412, 116, 348, 220, 476, 120, 316, 188, 444, 124, 380, 252, 508, 128, 258, 130,
386, 132, 322, 194, 450, 136, 290, 162, 418, 140, 354, 226, 482, 144, 274, 146, 402, 148,
338, 210, 466, 152, 306, 178, 434, 156, 370, 242, 498, 160, 266, 162, 394, 164, 330, 202,
458, 168, 298, 170, 426, 172, 362, 234, 490, 176, 282, 178, 410, 180, 346, 218, 474, 184,
314, 186, 442, 188, 378, 250, 506, 192, 262, 194, 390, 196, 326, 198, 454, 200, 294, 202,
422, 204, 358, 230, 486, 208, 278, 210, 406, 212, 342, 214, 470, 216, 310, 218, 438, 220,
374, 246, 502, 224, 270, 226, 398, 228, 334, 230, 462, 232, 302, 234, 430, 236, 366, 238,
494, 240, 286, 242, 414, 244, 350, 246, 478, 248, 318, 250, 446, 252, 382, 254, 510, 256,
257, 258, 385, 260, 321, 262, 449, 264, 289, 266, 417, 268, 353, 270, 481, 272, 273, 274,
401, 276, 337, 278, 465, 280, 305, 282, 433, 284, 369, 286, 497, 288, 289, 290, 393, 292,
329, 294, 457, 296, 297, 298, 425, 300, 361, 302, 489, 304, 305, 306, 409, 308, 345, 310,
473, 312, 313, 314, 441, 316, 377, 318, 505, 320, 321, 322, 389, 324, 325, 326, 453, 328,
329, 330, 421, 332, 357, 334, 485, 336, 337, 338, 405, 340, 341, 342, 469, 344, 345, 346,
437, 348, 373, 350, 501, 352, 353, 354, 397, 356, 357, 358, 461, 360, 361, 362, 429, 364,
365, 366, 493, 368, 369, 370, 413, 372, 373, 374, 477, 376, 377, 378, 445, 380, 381, 382,
509, 384, 385, 386, 387, 388, 389, 390, 451, 392, 393, 394, 419, 396, 397, 398, 483, 400,
401, 402, 403, 404, 405, 406, 467, 408, 409, 410, 435, 412, 413, 414, 499, 416, 417, 418,
419, 420, 421, 422, 459, 424, 425, 426, 427, 428, 429, 430, 491, 432, 433, 434, 435, 436,
437, 438, 475, 440, 441, 442, 443, 444, 445, 446, 507, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 487, 464, 465, 466, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 478, 503, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511,
],
&[
0, 512, 256, 768, 128, 640, 384, 896, 64, 576, 320, 832, 192, 704, 448, 960, 32, 544, 288,
800, 160, 672, 416, 928, 96, 608, 352, 864, 224, 736, 480, 992, 32, 528, 272, 784, 144,
656, 400, 912, 80, 592, 336, 848, 208, 720, 464, 976, 48, 560, 304, 816, 176, 688, 432,
944, 112, 624, 368, 880, 240, 752, 496, 1008, 64, 520, 264, 776, 136, 648, 392, 904, 72,
584, 328, 840, 200, 712, 456, 968, 80, 552, 296, 808, 168, 680, 424, 936, 104, 616, 360,
872, 232, 744, 488, 1000, 96, 536, 280, 792, 152, 664, 408, 920, 104, 600, 344, 856, 216,
728, 472, 984, 112, 568, 312, 824, 184, 696, 440, 952, 120, 632, 376, 888, 248, 760, 504,
1016, 128, 516, 260, 772, 132, 644, 388, 900, 136, 580, 324, 836, 196, 708, 452, 964, 144,
548, 292, 804, 164, 676, 420, 932, 152, 612, 356, 868, 228, 740, 484, 996, 160, 532, 276,
788, 164, 660, 404, 916, 168, 596, 340, 852, 212, 724, 468, 980, 176, 564, 308, 820, 180,
692, 436, 948, 184, 628, 372, 884, 244, 756, 500, 1012, 192, 524, 268, 780, 196, 652, 396,
908, 200, 588, 332, 844, 204, 716, 460, 972, 208, 556, 300, 812, 212, 684, 428, 940, 216,
620, 364, 876, 236, 748, 492, 1004, 224, 540, 284, 796, 228, 668, 412, 924, 232, 604, 348,
860, 236, 732, 476, 988, 240, 572, 316, 828, 244, 700, 444, 956, 248, 636, 380, 892, 252,
764, 508, 1020, 256, 514, 258, 770, 260, 642, 386, 898, 264, 578, 322, 834, 268, 706, 450,
962, 272, 546, 290, 802, 276, 674, 418, 930, 280, 610, 354, 866, 284, 738, 482, 994, 288,
530, 290, 786, 292, 658, 402, 914, 296, 594, 338, 850, 300, 722, 466, 978, 304, 562, 306,
818, 308, 690, 434, 946, 312, 626, 370, 882, 316, 754, 498, 1010, 320, 522, 322, 778, 324,
650, 394, 906, 328, 586, 330, 842, 332, 714, 458, 970, 336, 554, 338, 810, 340, 682, 426,
938, 344, 618, 362, 874, 348, 746, 490, 1002, 352, 538, 354, 794, 356, 666, 410, 922, 360,
602, 362, 858, 364, 730, 474, 986, 368, 570, 370, 826, 372, 698, 442, 954, 376, 634, 378,
890, 380, 762, 506, 1018, 384, 518, 386, 774, 388, 646, 390, 902, 392, 582, 394, 838, 396,
710, 454, 966, 400, 550, 402, 806, 404, 678, 422, 934, 408, 614, 410, 870, 412, 742, 486,
998, 416, 534, 418, 790, 420, 662, 422, 918, 424, 598, 426, 854, 428, 726, 470, 982, 432,
566, 434, 822, 436, 694, 438, 950, 440, 630, 442, 886, 444, 758, 502, 1014, 448, 526, 450,
782, 452, 654, 454, 910, 456, 590, 458, 846, 460, 718, 462, 974, 464, 558, 466, 814, 468,
686, 470, 942, 472, 622, 474, 878, 476, 750, 494, 1006, 480, 542, 482, 798, 484, 670, 486,
926, 488, 606, 490, 862, 492, 734, 494, 990, 496, 574, 498, 830, 500, 702, 502, 958, 504,
638, 506, 894, 508, 766, 510, 1022, 512, 513, 514, 769, 516, 641, 518, 897, 520, 577, 522,
833, 524, 705, 526, 961, 528, 545, 530, 801, 532, 673, 534, 929, 536, 609, 538, 865, 540,
737, 542, 993, 544, 545, 546, 785, 548, 657, 550, 913, 552, 593, 554, 849, 556, 721, 558,
977, 560, 561, 562, 817, 564, 689, 566, 945, 568, 625, 570, 881, 572, 753, 574, 1009, 576,
577, 578, 777, 580, 649, 582, 905, 584, 585, 586, 841, 588, 713, 590, 969, 592, 593, 594,
809, 596, 681, 598, 937, 600, 617, 602, 873, 604, 745, 606, 1001, 608, 609, 610, 793, 612,
665, 614, 921, 616, 617, 618, 857, 620, 729, 622, 985, 624, 625, 626, 825, 628, 697, 630,
953, 632, 633, 634, 889, 636, 761, 638, 1017, 640, 641, 642, 773, 644, 645, 646, 901, 648,
649, 650, 837, 652, 709, 654, 965, 656, 657, 658, 805, 660, 677, 662, 933, 664, 665, 666,
869, 668, 741, 670, 997, 672, 673, 674, 789, 676, 677, 678, 917, 680, 681, 682, 853, 684,
725, 686, 981, 688, 689, 690, 821, 692, 693, 694, 949, 696, 697, 698, 885, 700, 757, 702,
1013, 704, 705, 706, 781, 708, 709, 710, 909, 712, 713, 714, 845, 716, 717, 718, 973, 720,
721, 722, 813, 724, 725, 726, 941, 728, 729, 730, 877, 732, 749, 734, 1005, 736, 737, 738,
797, 740, 741, 742, 925, 744, 745, 746, 861, 748, 749, 750, 989, 752, 753, 754, 829, 756,
757, 758, 957, 760, 761, 762, 893, 764, 765, 766, 1021, 768, 769, 770, 771, 772, 773, 774,
899, 776, 777, 778, 835, 780, 781, 782, 963, 784, 785, 786, 803, 788, 789, 790, 931, 792,
793, 794, 867, 796, 797, 798, 995, 800, 801, 802, 803, 804, 805, 806, 915, 808, 809, 810,
851, 812, 813, 814, 979, 816, 817, 818, 819, 820, 821, 822, 947, 824, 825, 826, 883, 828,
829, 830, 1011, 832, 833, 834, 835, 836, 837, 838, 907, 840, 841, 842, 843, 844, 845, 846,
971, 848, 849, 850, 851, 852, 853, 854, 939, 856, 857, 858, 875, 860, 861, 862, 1003, 864,
865, 866, 867, 868, 869, 870, 923, 872, 873, 874, 875, 876, 877, 878, 987, 880, 881, 882,
883, 884, 885, 886, 955, 888, 889, 890, 891, 892, 893, 894, 1019, 896, 897, 898, 899, 900,
901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 967, 912, 913, 914, 915, 916, 917, 918,
935, 920, 921, 922, 923, 924, 925, 926, 999, 928, 929, 930, 931, 932, 933, 934, 935, 936,
937, 938, 939, 940, 941, 942, 983, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954,
955, 956, 957, 958, 1015, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972,
973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990,
1007, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006,
1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021,
1022, 1023,
],
];