Created
November 18, 2012 18:55
-
-
Save tibbe/4106836 to your computer and use it in GitHub Desktop.
Core output for Gaussian.hs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Rec { | |
$fUniformGaussianValuesDoubleDouble_ziggurat | |
:: forall g_a2D9. | |
RandomGen g_a2D9 => | |
(Vector Double, Vector Double, Vector Word) | |
-> g_a2D9 -> (Double, g_a2D9) | |
$fUniformGaussianValuesDoubleDouble_ziggurat = | |
\ (@ g_a2D9) | |
($dRandomGen_a2Da :: RandomGen g_a2D9) | |
(eta_B2 :: (Vector Double, Vector Double, Vector Word)) | |
(eta1_B1 :: g_a2D9) -> | |
case eta_B2 of _ { (tableX_a1o6, tableY_a1o7, tableXW_a1o8) -> | |
case eta1_B1 of g0_X1oQ { __DEFAULT -> | |
case $wrandomIvalInteger | |
@ g_a2D9 | |
@ Word | |
$dRandomGen_a2Da | |
$fNumWord | |
$fRandomCSize4 | |
$fRandomCSize3 | |
g0_X1oQ | |
of _ { (# ww1_a3fK, ww2_a3fL #) -> | |
case ww1_a3fK of _ { W# ipv_s3gZ -> | |
case ww2_a3fL of g1_X1UE { __DEFAULT -> | |
let { | |
$w$j_s4ga :: Double# -> (Double, g_a2D9) | |
$w$j_s4ga = | |
\ (w_s4cS :: Double#) -> | |
case $wrandomIvalInteger | |
@ g_a2D9 | |
@ Word | |
$dRandomGen_a2Da | |
$fNumWord | |
$fRandomCSize4 | |
$fRandomCSize3 | |
g1_X1UE | |
of _ { (# ww4_X3ky, ww5_X3kA #) -> | |
case ww4_X3ky of ds1_X2YR { W# ipv1_s3hW -> | |
case ww5_X3kA of g2_X2CD { __DEFAULT -> | |
let { | |
$wfallbackToTail_s4gc | |
:: forall t_a2BB. | |
RandomGen t_a2BB => | |
t_a2BB -> (# Double, t_a2BB #) | |
$wfallbackToTail_s4gc = | |
\ (@ t_a2BB) (w1_s4cI :: RandomGen t_a2BB) (w2_s4cJ :: t_a2BB) -> | |
case w2_s4cJ of gA_X1uP { __DEFAULT -> | |
case $wrandomIvalInteger | |
@ t_a2BB | |
@ Int64 | |
w1_s4cI | |
$fNumInt64 | |
$fRandomCIntMax4 | |
$fRandomCIntMax3 | |
gA_X1uP | |
of _ { (# ww7_a3hk, ww8_a3hl #) -> | |
case ww8_a3hl of gB_X1V9 { __DEFAULT -> | |
case $fRandomDouble4 of _ { I64# x#_a3hj -> | |
case ww7_a3hk of _ { I64# y#_a3ht -> | |
case $fRandomDouble3 of _ { D# y_a3hs -> | |
case $wrandomIvalInteger | |
@ t_a2BB | |
@ Int64 | |
w1_s4cI | |
$fNumInt64 | |
$fRandomCIntMax4 | |
$fRandomCIntMax3 | |
gB_X1V9 | |
of _ { (# ww10_X3pq, ww11_X3ps #) -> | |
case ww11_X3ps of gC_X2C4 { __DEFAULT -> | |
case ww10_X3pq of _ { I64# y#1_X3pK -> | |
case lvl33_r4Zo of _ { D# y1_a3za -> | |
case /## | |
(int2Double# | |
(word2Int# (and# (int2Word# x#_a3hj) (int2Word# y#_a3ht)))) | |
y_a3hs | |
of wild6_a3hw { __DEFAULT -> | |
case logDouble# wild6_a3hw of wild7_X3DZ { __DEFAULT -> | |
case /## wild7_X3DZ y1_a3za of wild8_a3zc { __DEFAULT -> | |
let { | |
x_a3hM :: Double# | |
x_a3hM = negateDouble# wild8_a3zc } in | |
case /## | |
(int2Double# | |
(word2Int# (and# (int2Word# x#_a3hj) (int2Word# y#1_X3pK)))) | |
y_a3hs | |
of wild9_X3pU { __DEFAULT -> | |
case logDouble# wild9_X3pU of wild10_a3yn { __DEFAULT -> | |
let { | |
x1_a3zG :: Double# | |
x1_a3zG = negateDouble# wild10_a3yn } in | |
case >## (+## x1_a3zG x1_a3zG) (*## x_a3hM x_a3hM) of _ { | |
False -> | |
letrec { | |
$wfallbackToTail1_s4gi :: t_a2BB -> (# Double, t_a2BB #) | |
$wfallbackToTail1_s4gi = | |
\ (w3_s4cD :: t_a2BB) -> | |
case w3_s4cD of gA1_X1GU { __DEFAULT -> | |
case $wrandomIvalInteger | |
@ t_a2BB | |
@ Int64 | |
w1_s4cI | |
$fNumInt64 | |
$fRandomCIntMax4 | |
$fRandomCIntMax3 | |
gA1_X1GU | |
of _ { (# ww13_X3tt, ww14_X3tv #) -> | |
case ww14_X3tv of gB1_X27l { __DEFAULT -> | |
case ww13_X3tt of _ { I64# y#2_X3tK -> | |
case $wrandomIvalInteger | |
@ t_a2BB | |
@ Int64 | |
w1_s4cI | |
$fNumInt64 | |
$fRandomCIntMax4 | |
$fRandomCIntMax3 | |
gB1_X27l | |
of _ { (# ww16_X3BM, ww17_X3BP #) -> | |
case ww17_X3BP of gC1_X2Ot { __DEFAULT -> | |
case ww16_X3BM of _ { I64# y#3_X3Ce -> | |
case /## | |
(int2Double# | |
(word2Int# (and# (int2Word# x#_a3hj) (int2Word# y#2_X3tK)))) | |
y_a3hs | |
of wild14_X3u4 { __DEFAULT -> | |
case logDouble# wild14_X3u4 of wild15_X3Qz { __DEFAULT -> | |
case /## wild15_X3Qz y1_a3za of wild16_X3LO { __DEFAULT -> | |
let { | |
x2_X3uq :: Double# | |
x2_X3uq = negateDouble# wild16_X3LO } in | |
case /## | |
(int2Double# | |
(word2Int# (and# (int2Word# x#_a3hj) (int2Word# y#3_X3Ce)))) | |
y_a3hs | |
of wild17_X3CA { __DEFAULT -> | |
case logDouble# wild17_X3CA of wild18_X3L5 { __DEFAULT -> | |
let { | |
x3_X3Mq :: Double# | |
x3_X3Mq = negateDouble# wild18_X3L5 } in | |
case >## (+## x3_X3Mq x3_X3Mq) (*## x2_X3uq x2_X3uq) of _ { | |
False -> $wfallbackToTail1_s4gi gC1_X2Ot; | |
True -> | |
case lvl32_r4Zn of _ { D# y2_X3Io -> | |
(# D# (*## w_s4cS (+## x2_X3uq y2_X3Io)), gC1_X2Ot #) | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}; } in | |
$wfallbackToTail1_s4gi gC_X2C4; | |
True -> | |
case lvl32_r4Zn of _ { D# y2_X3Io -> | |
(# D# (*## w_s4cS (+## x_a3hM y2_X3Io)), gC_X2C4 #) | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} } in | |
let { | |
ipv2_s3h2 :: Int# | |
ipv2_s3h2 = word2Int# (and# ipv_s3gZ (__word 127)) } in | |
let { | |
x_s3nB :: Double | |
x_s3nB = | |
let { | |
i#_a3zt :: Int# | |
i#_a3zt = word2Int# ipv1_s3hW } in | |
case >=# i#_a3zt 0 of _ { | |
False -> | |
case doubleFromInteger (wordToInteger ipv1_s3hW) | |
of wild2_a35B { __DEFAULT -> | |
case lvl35_r4Zq of _ { D# x1_a3z6 -> | |
case doubleFromInteger $fUniformGaussianValuesDoubleDouble5 | |
of wild4_X3dM { __DEFAULT -> | |
case tableX_a1o6 of _ { Vector rb_a3Mb rb1_a3Mc rb2_a3Md -> | |
case indexArray# @ Double rb2_a3Md (+# rb_a3Mb ipv2_s3h2) | |
of _ { (# x2_a3Ml #) -> | |
case x2_a3Ml of _ { D# y_X3q9 -> | |
case /## x1_a3z6 wild4_X3dM of wild8_a3zc { __DEFAULT -> | |
D# (*## (*## wild2_a35B wild8_a3zc) y_X3q9) | |
} | |
} | |
} | |
} | |
} | |
} | |
}; | |
True -> | |
case doubleFromInteger (smallInteger i#_a3zt) | |
of wild2_a35B { __DEFAULT -> | |
case lvl35_r4Zq of _ { D# x1_a3z6 -> | |
case doubleFromInteger $fUniformGaussianValuesDoubleDouble5 | |
of wild4_X3dM { __DEFAULT -> | |
case tableX_a1o6 of _ { Vector rb_a3Mb rb1_a3Mc rb2_a3Md -> | |
case indexArray# @ Double rb2_a3Md (+# rb_a3Mb ipv2_s3h2) | |
of _ { (# x2_a3Ml #) -> | |
case x2_a3Ml of _ { D# y_X3q9 -> | |
case /## x1_a3z6 wild4_X3dM of wild8_a3zc { __DEFAULT -> | |
D# (*## (*## wild2_a35B wild8_a3zc) y_X3q9) | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} } in | |
let { | |
l_a1oc :: Int | |
l_a1oc = I# ipv2_s3h2 } in | |
let { | |
checkYStep_s3nA :: (Double, g_a2D9) | |
checkYStep_s3nA = | |
case tableY_a1o7 of _ { Vector rb_a3Mb rb1_a3Mc rb2_a3Md -> | |
case indexArray# @ Double rb2_a3Md (+# rb_a3Mb ipv2_s3h2) | |
of _ { (# x1_a3Ml #) -> | |
case x1_a3Ml of _ { D# ipv3_s3hZ -> | |
case indexArray# @ Double rb2_a3Md (+# rb_a3Mb (-# ipv2_s3h2 1)) | |
of _ { (# x2_X3TD #) -> | |
case x2_X3TD of _ { D# ipv4_s3i2 -> | |
case $wrandomIvalInteger | |
@ g_a2D9 | |
@ Int64 | |
$dRandomGen_a2Da | |
$fNumInt64 | |
$fRandomCIntMax4 | |
$fRandomCIntMax3 | |
g2_X2CD | |
of _ { (# ww7_a3hk, ww8_a3hl #) -> | |
case $fRandomDouble4 of _ { I64# x#_a3hj -> | |
case ww7_a3hk of _ { I64# y#_a3ht -> | |
case $fRandomDouble3 of _ { D# y_a3hs -> | |
case ww8_a3hl of g3_X2CZ { __DEFAULT -> | |
case $fUniformGaussianValuesDoubleDouble13 of _ { D# x3_X3qd -> | |
case x_s3nB of _ { D# y1_X3ql -> | |
case /## | |
(int2Double# | |
(word2Int# (and# (int2Word# x#_a3hj) (int2Word# y#_a3ht)))) | |
y_a3hs | |
of wild9_a3hw { __DEFAULT -> | |
case <## | |
(+## ipv4_s3i2 (*## (-## ipv3_s3hZ ipv4_s3i2) wild9_a3hw)) | |
(expDouble# (negateDouble# (*## (*## x3_X3qd y1_X3ql) y1_X3ql))) | |
of _ { | |
False -> | |
letrec { | |
$sziggurat_s4Yq | |
:: RandomGen g_a2D9 => | |
Vector Double | |
-> Int# | |
-> Int# | |
-> Array# Double | |
-> Vector Word | |
-> g_a2D9 | |
-> (Double, g_a2D9) | |
$sziggurat_s4Yq = | |
\ (sc_s4VH :: RandomGen g_a2D9) | |
(sc1_s4VI :: Vector Double) | |
(sc2_s4VJ :: Int#) | |
(sc3_s4VK :: Int#) | |
(sc4_s4VL :: Array# Double) | |
(sc5_s4VM :: Vector Word) | |
(sc6_s4VN :: g_a2D9) -> | |
case sc6_s4VN of g4_X1B7 { __DEFAULT -> | |
case $wrandomIvalInteger | |
@ g_a2D9 | |
@ Word | |
sc_s4VH | |
$fNumWord | |
$fRandomCSize4 | |
$fRandomCSize3 | |
g4_X1B7 | |
of _ { (# ww10_X3s5, ww11_X3s7 #) -> | |
case ww10_X3s5 of _ { W# ipv5_X3to -> | |
case ww11_X3s7 of g5_X276 { __DEFAULT -> | |
let { | |
$w$j1_X4sF :: Double# -> (Double, g_a2D9) | |
$w$j1_X4sF = | |
\ (w1_X4po :: Double#) -> | |
case $wrandomIvalInteger | |
@ g_a2D9 | |
@ Word | |
sc_s4VH | |
$fNumWord | |
$fRandomCSize4 | |
$fRandomCSize3 | |
g5_X276 | |
of _ { (# ww13_X3x6, ww14_X3x9 #) -> | |
case ww13_X3x6 of ds3_X3bs { W# ipv6_X3uy -> | |
case ww14_X3x9 of g6_X31X { __DEFAULT -> | |
let { | |
$wfallbackToTail1_X4sV | |
:: forall t_a2BB. | |
RandomGen t_a2BB => | |
t_a2BB -> (# Double, t_a2BB #) | |
$wfallbackToTail1_X4sV = | |
\ (@ t_a2BB) (w2_s4cI :: RandomGen t_a2BB) (w3_s4cJ :: t_a2BB) -> | |
case w3_s4cJ of gA_X1uP { __DEFAULT -> | |
case $wrandomIvalInteger | |
@ t_a2BB | |
@ Int64 | |
w2_s4cI | |
$fNumInt64 | |
$fRandomCIntMax4 | |
$fRandomCIntMax3 | |
gA_X1uP | |
of _ { (# ww16_X3ub, ww17_X3ud #) -> | |
case ww17_X3ud of gB_X1V9 { __DEFAULT -> | |
case ww16_X3ub of _ { I64# y#1_X3ut -> | |
case $wrandomIvalInteger | |
@ t_a2BB | |
@ Int64 | |
w2_s4cI | |
$fNumInt64 | |
$fRandomCIntMax4 | |
$fRandomCIntMax3 | |
gB_X1V9 | |
of _ { (# ww19_X3pq, ww20_X3ps #) -> | |
case ww20_X3ps of gC_X2C4 { __DEFAULT -> | |
case ww19_X3pq of _ { I64# y#2_X3pK -> | |
case lvl33_r4Zo of _ { D# y2_a3za -> | |
case /## | |
(int2Double# | |
(word2Int# | |
(and# (int2Word# x#_a3hj) (int2Word# y#1_X3ut)))) | |
y_a3hs | |
of wild14_X3uS { __DEFAULT -> | |
case logDouble# wild14_X3uS of wild15_X3DZ { __DEFAULT -> | |
case /## wild15_X3DZ y2_a3za of wild16_a3zc { __DEFAULT -> | |
let { | |
x4_a3hM :: Double# | |
x4_a3hM = negateDouble# wild16_a3zc } in | |
case /## | |
(int2Double# | |
(word2Int# | |
(and# (int2Word# x#_a3hj) (int2Word# y#2_X3pK)))) | |
y_a3hs | |
of wild17_X3pU { __DEFAULT -> | |
case logDouble# wild17_X3pU of wild18_a3yn { __DEFAULT -> | |
let { | |
x5_a3zG :: Double# | |
x5_a3zG = negateDouble# wild18_a3yn } in | |
case >## (+## x5_a3zG x5_a3zG) (*## x4_a3hM x4_a3hM) of _ { | |
False -> | |
letrec { | |
$wfallbackToTail2_s4gi :: t_a2BB -> (# Double, t_a2BB #) | |
$wfallbackToTail2_s4gi = | |
\ (w4_s4cD :: t_a2BB) -> | |
case w4_s4cD of gA1_X1It { __DEFAULT -> | |
case $wrandomIvalInteger | |
@ t_a2BB | |
@ Int64 | |
w2_s4cI | |
$fNumInt64 | |
$fRandomCIntMax4 | |
$fRandomCIntMax3 | |
gA1_X1It | |
of _ { (# ww22_X3v2, ww23_X3v4 #) -> | |
case ww23_X3v4 of gB1_X28U { __DEFAULT -> | |
case ww22_X3v2 of _ { I64# y#3_X3vj -> | |
case $wrandomIvalInteger | |
@ t_a2BB | |
@ Int64 | |
w2_s4cI | |
$fNumInt64 | |
$fRandomCIntMax4 | |
$fRandomCIntMax3 | |
gB1_X28U | |
of _ { (# ww25_X3Dl, ww26_X3Do #) -> | |
case ww26_X3Do of gC1_X2Q2 { __DEFAULT -> | |
case ww25_X3Dl of _ { I64# y#4_X3DN -> | |
case /## | |
(int2Double# | |
(word2Int# | |
(and# | |
(int2Word# x#_a3hj) | |
(int2Word# y#3_X3vj)))) | |
y_a3hs | |
of wild22_X3JK { __DEFAULT -> | |
case logDouble# wild22_X3JK | |
of wild23_X3S8 { __DEFAULT -> | |
case /## wild23_X3S8 y2_a3za | |
of wild24_X3Nn { __DEFAULT -> | |
let { | |
x6_X3vZ :: Double# | |
x6_X3vZ = negateDouble# wild24_X3Nn } in | |
case /## | |
(int2Double# | |
(word2Int# | |
(and# | |
(int2Word# x#_a3hj) | |
(int2Word# y#4_X3DN)))) | |
y_a3hs | |
of wild25_X3E9 { __DEFAULT -> | |
case logDouble# wild25_X3E9 | |
of wild26_X3ME { __DEFAULT -> | |
let { | |
x7_X3NZ :: Double# | |
x7_X3NZ = negateDouble# wild26_X3ME } in | |
case >## (+## x7_X3NZ x7_X3NZ) (*## x6_X3vZ x6_X3vZ) | |
of _ { | |
False -> $wfallbackToTail2_s4gi gC1_X2Q2; | |
True -> | |
case lvl32_r4Zn of _ { D# y3_X3Io -> | |
(# D# (*## w1_X4po (+## x6_X3vZ y3_X3Io)), | |
gC1_X2Q2 #) | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
}; } in | |
$wfallbackToTail2_s4gi gC_X2C4; | |
True -> | |
case lvl32_r4Zn of _ { D# y3_X3Io -> | |
(# D# (*## w1_X4po (+## x4_a3hM y3_X3Io)), gC_X2C4 #) | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} } in | |
let { | |
ipv7_X3tN :: Int# | |
ipv7_X3tN = word2Int# (and# ipv5_X3to (__word 127)) } in | |
let { | |
x4_X3Ao :: Double | |
x4_X3Ao = | |
let { | |
i#_a3zt :: Int# | |
i#_a3zt = word2Int# ipv6_X3uy } in | |
case >=# i#_a3zt 0 of _ { | |
False -> | |
case doubleFromInteger (wordToInteger ipv6_X3uy) | |
of wild12_a35B { __DEFAULT -> | |
case lvl35_r4Zq of _ { D# x5_a3z6 -> | |
case doubleFromInteger $fUniformGaussianValuesDoubleDouble5 | |
of wild14_X3dM { __DEFAULT -> | |
case sc1_s4VI of _ { Vector rb3_X3Za rb4_X3Zc rb5_X4cf -> | |
case indexArray# @ Double rb5_X4cf (+# rb3_X3Za ipv7_X3tN) | |
of _ { (# x6_X4cv #) -> | |
case x6_X4cv of _ { D# y2_X3q9 -> | |
case /## x5_a3z6 wild14_X3dM of wild18_a3zc { __DEFAULT -> | |
D# (*## (*## wild12_a35B wild18_a3zc) y2_X3q9) | |
} | |
} | |
} | |
} | |
} | |
} | |
}; | |
True -> | |
case doubleFromInteger (smallInteger i#_a3zt) | |
of wild12_a35B { __DEFAULT -> | |
case lvl35_r4Zq of _ { D# x5_a3z6 -> | |
case doubleFromInteger $fUniformGaussianValuesDoubleDouble5 | |
of wild14_X3dM { __DEFAULT -> | |
case sc1_s4VI of _ { Vector rb3_X3Za rb4_X3Zc rb5_X4cf -> | |
case indexArray# @ Double rb5_X4cf (+# rb3_X3Za ipv7_X3tN) | |
of _ { (# x6_X4cv #) -> | |
case x6_X4cv of _ { D# y2_X3q9 -> | |
case /## x5_a3z6 wild14_X3dM of wild18_a3zc { __DEFAULT -> | |
D# (*## (*## wild12_a35B wild18_a3zc) y2_X3q9) | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} } in | |
let { | |
l1_X1B1 :: Int | |
l1_X1B1 = I# ipv7_X3tN } in | |
let { | |
checkYStep1_X3Ar :: (Double, g_a2D9) | |
checkYStep1_X3Ar = | |
case indexArray# @ Double sc4_s4VL (+# sc2_s4VJ ipv7_X3tN) | |
of _ { (# x5_X3Zk #) -> | |
case x5_X3Zk of _ { D# ipv8_X3v1 -> | |
case indexArray# @ Double sc4_s4VL (+# sc2_s4VJ (-# ipv7_X3tN 1)) | |
of _ { (# x6_X46J #) -> | |
case x6_X46J of _ { D# ipv9_X3vb -> | |
case $wrandomIvalInteger | |
@ g_a2D9 | |
@ Int64 | |
sc_s4VH | |
$fNumInt64 | |
$fRandomCIntMax4 | |
$fRandomCIntMax3 | |
g6_X31X | |
of _ { (# ww16_X3ux, ww17_X3uz #) -> | |
case ww16_X3ux of _ { I64# y#1_X3uL -> | |
case ww17_X3uz of g7_X2Ql { __DEFAULT -> | |
case x4_X3Ao of _ { D# y2_X3DN -> | |
case /## | |
(int2Double# | |
(word2Int# | |
(and# (int2Word# x#_a3hj) (int2Word# y#1_X3uL)))) | |
y_a3hs | |
of wild15_X3Iw { __DEFAULT -> | |
case <## | |
(+## ipv9_X3vb (*## (-## ipv8_X3v1 ipv9_X3vb) wild15_X3Iw)) | |
(expDouble# | |
(negateDouble# (*## (*## x3_X3qd y2_X3DN) y2_X3DN))) | |
of _ { | |
False -> | |
$sziggurat_s4Yq | |
sc_s4VH | |
sc1_s4VI | |
sc2_s4VJ | |
sc3_s4VK | |
sc4_s4VL | |
sc5_s4VM | |
g7_X2Ql; | |
True -> (D# (*## y2_X3DN w1_X4po), g7_X2Ql) | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} } in | |
let { | |
checkXStep_s3nz :: (Double, g_a2D9) | |
checkXStep_s3nz = | |
case sc5_s4VM of _ { Vector rb3_X3Z7 rb4_X3Z9 rb5_X4c9 -> | |
case indexArray# @ Word rb5_X4c9 (+# rb3_X3Z7 ipv7_X3tN) | |
of _ { (# x5_X3Zn #) -> | |
case x5_X3Zn of _ { W# b1_a3gC -> | |
case ltWord# ipv6_X3uy b1_a3gC of _ { | |
False -> checkYStep1_X3Ar; | |
True -> | |
case x4_X3Ao of _ { D# x6_a3hM -> | |
(D# (*## x6_a3hM w1_X4po), g6_X31X) | |
} | |
} | |
} | |
} | |
} } in | |
let { | |
fallbackToTail_s3nF | |
:: forall t_a2BB. RandomGen t_a2BB => t_a2BB -> (Double, t_a2BB) | |
fallbackToTail_s3nF = | |
\ (@ t_a2BB) (w2_s4cI :: RandomGen t_a2BB) (w3_s4cJ :: t_a2BB) -> | |
case $wfallbackToTail1_X4sV @ t_a2BB w2_s4cI w3_s4cJ | |
of _ { (# ww16_s4gf, ww17_s4gg #) -> | |
(ww16_s4gf, ww17_s4gg) | |
} } in | |
let { | |
checkBottomLayer_s3nI :: (Double, g_a2D9) | |
checkBottomLayer_s3nI = | |
case ipv7_X3tN of _ { | |
__DEFAULT -> checkXStep_s3nz; | |
0 -> | |
case sc5_s4VM of _ { Vector rb3_X3Zd rb4_X3Zf rb5_X4cl -> | |
case indexArray# @ Word rb5_X4cl rb3_X3Zd | |
of _ { (# x5_X4cB #) -> | |
case x5_X4cB of _ { W# b1_a3gC -> | |
case ltWord# ipv6_X3uy b1_a3gC of _ { | |
False -> | |
case $wfallbackToTail1_X4sV @ g_a2D9 sc_s4VH g6_X31X | |
of _ { (# ww16_s4gf, ww17_s4gg #) -> | |
(ww16_s4gf, ww17_s4gg) | |
}; | |
True -> | |
let { | |
i#_a3zt :: Int# | |
i#_a3zt = word2Int# ipv6_X3uy } in | |
case >=# i#_a3zt 0 of _ { | |
False -> | |
case doubleFromInteger (wordToInteger ipv6_X3uy) | |
of wild17_a35B { __DEFAULT -> | |
case lvl34_r4Zp of _ { D# x6_a3z6 -> | |
case doubleFromInteger | |
$fUniformGaussianValuesDoubleDouble5 | |
of wild19_X3lF { __DEFAULT -> | |
case lvl31_r4Zm of _ { D# y2_X3qs -> | |
case /## x6_a3z6 wild19_X3lF | |
of wild21_a3zc { __DEFAULT -> | |
(D# | |
(*## | |
(*## (*## wild17_a35B wild21_a3zc) y2_X3qs) | |
w1_X4po), | |
g6_X31X) | |
} | |
} | |
} | |
} | |
}; | |
True -> | |
case doubleFromInteger (smallInteger i#_a3zt) | |
of wild17_a35B { __DEFAULT -> | |
case lvl34_r4Zp of _ { D# x6_a3z6 -> | |
case doubleFromInteger | |
$fUniformGaussianValuesDoubleDouble5 | |
of wild19_X3lF { __DEFAULT -> | |
case lvl31_r4Zm of _ { D# y2_X3qs -> | |
case /## x6_a3z6 wild19_X3lF | |
of wild21_a3zc { __DEFAULT -> | |
(D# | |
(*## | |
(*## (*## wild17_a35B wild21_a3zc) y2_X3qs) | |
w1_X4po), | |
g6_X31X) | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} } in | |
checkBottomLayer_s3nI | |
} | |
} | |
} } in | |
case eqWord# (and# ipv5_X3to (__word 128)) (__word 0) of _ { | |
False -> | |
case lvl30_r4Zl of _ { D# ipv6_s3h5 -> $w$j1_X4sF ipv6_s3h5 }; | |
True -> | |
case lvl29_r4Zk of _ { D# ipv6_s3h5 -> $w$j1_X4sF ipv6_s3h5 } | |
} | |
} | |
} | |
} | |
}; } in | |
$sziggurat_s4Yq | |
$dRandomGen_a2Da | |
tableX_a1o6 | |
rb_a3Mb | |
rb1_a3Mc | |
rb2_a3Md | |
tableXW_a1o8 | |
g3_X2CZ; | |
True -> (D# (*## y1_X3ql w_s4cS), g3_X2CZ) | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} } in | |
let { | |
checkXStep_s3nz :: (Double, g_a2D9) | |
checkXStep_s3nz = | |
case tableXW_a1o8 of _ { Vector rb_a3Mb rb1_a3Mc rb2_a3Md -> | |
case indexArray# @ Word rb2_a3Md (+# rb_a3Mb ipv2_s3h2) | |
of _ { (# x1_a3Ml #) -> | |
case x1_a3Ml of _ { W# b1_a3gC -> | |
case ltWord# ipv1_s3hW b1_a3gC of _ { | |
False -> checkYStep_s3nA; | |
True -> | |
case x_s3nB of _ { D# x2_a3hM -> | |
(D# (*## x2_a3hM w_s4cS), g2_X2CD) | |
} | |
} | |
} | |
} | |
} } in | |
let { | |
fallbackToTail_s3nF | |
:: forall t_a2BB. RandomGen t_a2BB => t_a2BB -> (Double, t_a2BB) | |
fallbackToTail_s3nF = | |
\ (@ t_a2BB) (w1_s4cI :: RandomGen t_a2BB) (w2_s4cJ :: t_a2BB) -> | |
case $wfallbackToTail_s4gc @ t_a2BB w1_s4cI w2_s4cJ | |
of _ { (# ww7_s4gf, ww8_s4gg #) -> | |
(ww7_s4gf, ww8_s4gg) | |
} } in | |
let { | |
checkBottomLayer_s3nI :: (Double, g_a2D9) | |
checkBottomLayer_s3nI = | |
case ipv2_s3h2 of _ { | |
__DEFAULT -> checkXStep_s3nz; | |
0 -> | |
case tableXW_a1o8 of _ { Vector rb_a3Mb rb1_a3Mc rb2_a3Md -> | |
case indexArray# @ Word rb2_a3Md rb_a3Mb of _ { (# x1_a3Ml #) -> | |
case x1_a3Ml of _ { W# b1_a3gC -> | |
case ltWord# ipv1_s3hW b1_a3gC of _ { | |
False -> | |
case $wfallbackToTail_s4gc @ g_a2D9 $dRandomGen_a2Da g2_X2CD | |
of _ { (# ww7_s4gf, ww8_s4gg #) -> | |
(ww7_s4gf, ww8_s4gg) | |
}; | |
True -> | |
let { | |
i#_a3zt :: Int# | |
i#_a3zt = word2Int# ipv1_s3hW } in | |
case >=# i#_a3zt 0 of _ { | |
False -> | |
case doubleFromInteger (wordToInteger ipv1_s3hW) | |
of wild7_a35B { __DEFAULT -> | |
case lvl34_r4Zp of _ { D# x2_a3z6 -> | |
case doubleFromInteger $fUniformGaussianValuesDoubleDouble5 | |
of wild9_X3lF { __DEFAULT -> | |
case lvl31_r4Zm of _ { D# y_X3qs -> | |
case /## x2_a3z6 wild9_X3lF of wild11_a3zc { __DEFAULT -> | |
(D# (*## (*## (*## wild7_a35B wild11_a3zc) y_X3qs) w_s4cS), | |
g2_X2CD) | |
} | |
} | |
} | |
} | |
}; | |
True -> | |
case doubleFromInteger (smallInteger i#_a3zt) | |
of wild7_a35B { __DEFAULT -> | |
case lvl34_r4Zp of _ { D# x2_a3z6 -> | |
case doubleFromInteger $fUniformGaussianValuesDoubleDouble5 | |
of wild9_X3lF { __DEFAULT -> | |
case lvl31_r4Zm of _ { D# y_X3qs -> | |
case /## x2_a3z6 wild9_X3lF of wild11_a3zc { __DEFAULT -> | |
(D# (*## (*## (*## wild7_a35B wild11_a3zc) y_X3qs) w_s4cS), | |
g2_X2CD) | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} | |
} } in | |
checkBottomLayer_s3nI | |
} | |
} | |
} } in | |
case eqWord# (and# ipv_s3gZ (__word 128)) (__word 0) of _ { | |
False -> | |
case lvl30_r4Zl of _ { D# ipv1_s3h5 -> $w$j_s4ga ipv1_s3h5 }; | |
True -> | |
case lvl29_r4Zk of _ { D# ipv1_s3h5 -> $w$j_s4ga ipv1_s3h5 } | |
} | |
} | |
} | |
} | |
} | |
} | |
end Rec } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment