Created
March 2, 2014 04:31
-
-
Save rrnewton/9301953 to your computer and use it in GitHub Desktop.
Full log of fission 2 way on nbody example
This file has been truncated, but you can view the full file.
This file contains hidden or 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
[rrnewton@RN-rMBP ~/accelerate/array-dsl-benchmarks/accelerate/nbody/fission1] (master)$ DEBUG=4 ACC_FISSION_FACTOR=2 time ./bench-nbody-fission1.exe 10 | |
NBODY size on command line: N="10" | |
NBODY: Reading requested prefix of input file... Just 10 | |
Read 100000 lines from file... | |
Done reading (took 0.015566s), converting to Acc array.. | |
Input prefix(4) [(0.204377359711,0.58752346877,0.466465813108),(-0.124071846716,-0.430925352499,0.818155869842),(9.23475595191e-2,0.471875966527,-0.390485706739)] | |
Input in CPU memory and did GC (took 0.00179s), starting benchmark... | |
! Responding to env Var: DEBUG=4 | |
beforeConversion, output was: | |
================================================================================ | |
fold | |
(\x0 x1 -> ((#2 x0) + (#2 x1), (#1 x0) + (#1 x1), (#0 x0) + (#0 x1))) | |
(0.0,0.0,0.0) | |
(let a0 = | |
use | |
(Array | |
(Z :. 10) | |
[(0.204377359711,0.58752346877,0.466465813108),(-0.124071846716,-0.430925352499,0.818155869842),(9.23475595191e-2,0.471875966527,-0.390485706739),(0.855260848999,0.17408952117,-5.50553835928e-2),(-0.355440662242,0.29258855246,5.77864721417e-2),(-0.699805021286,-0.290639472194,-0.194938545115),(-0.225843770429,-0.214849968441,-0.948073166423),(4.79635689408e-2,0.789017047733,0.361016079783),(-0.108046301641,-0.568562230095,-0.264976296574),(0.881816339679,-0.122657088563,-0.182035161182)]) | |
in zipWith | |
(\x0 x1 -> let x2 = #1 x1 in | |
let x3 = #1 x0 in | |
let x4 = #0 x1 in | |
let x5 = #0 x0 in | |
let x6 = #2 x0 in | |
let x7 = #2 x1 | |
in (not ((x6 ==* x7) &&* ((x3 ==* x2) &&* (x5 ==* x4)))) ? | |
(let x8 = x4 - x5 in | |
let x9 = x7 - x6 in | |
let x10 = x2 - x3 in | |
let x11 = ((x9 * x9) + (x10 * x10)) + (x8 * x8) in | |
let x12 = sqrt x11 in | |
let x13 = (1.0 * 1.0) / x11 in ((x13 * x9) / x12, (x13 * x10) / x12, (x13 * x8) / x12), | |
(0.0, 0.0, 0.0))) | |
(replicate Z :. All :. shapeSize ((shape a0)) a0) | |
(replicate Z :. shapeSize ((shape a0)) :. All a0)) | |
initialConversion, output was: | |
================================================================================ | |
[ToAccClone] convertArrayType ArraysR ((), Array) -> TTuple [TTuple [],TArray 1 (TTuple [TDouble,TDouble,TDouble])] -> TArray 1 (TTuple [TDouble,TDouble,TDouble]) | |
[ToAccClone] getAccType ArraysR ((), Array) -> TArray 1 (TTuple [TDouble,TDouble,TDouble]) | |
[ToAccClone] Converting tuple const: ((((), Double), Double), Double) -> Tup [D 0.0,D 0.0,D 0.0] | |
[ToAccClone] convertArrayType ArraysR ((), Array) -> TTuple [TTuple [],TArray 2 (TTuple [TDouble,TDouble,TDouble])] -> TArray 2 (TTuple [TDouble,TDouble,TDouble]) | |
[ToAccClone] getAccType ArraysR ((), Array) -> TArray 2 (TTuple [TDouble,TDouble,TDouble]) | |
[ToAccClone] convertArrayType ArraysR ((), Array) -> TTuple [TTuple [],TArray 1 (TTuple [TDouble,TDouble,TDouble])] -> TArray 1 (TTuple [TDouble,TDouble,TDouble]) | |
[ToAccClone] getAccType ArraysR ((), Array) -> TArray 1 (TTuple [TDouble,TDouble,TDouble]) | |
[ToAccClone] convertArrayType ArraysR ((), Array) -> TTuple [TTuple [],TArray 1 (TTuple [TDouble,TDouble,TDouble])] -> TArray 1 (TTuple [TDouble,TDouble,TDouble]) | |
[ToAccClone] convertArrayType ArraysR ((), Array) -> TTuple [TTuple [],TArray 2 (TTuple [TDouble,TDouble,TDouble])] -> TArray 2 (TTuple [TDouble,TDouble,TDouble]) | |
[ToAccClone] getAccType ArraysR ((), Array) -> TArray 2 (TTuple [TDouble,TDouble,TDouble]) | |
[ToAccClone] Converting tuple const: ((), Double) -> D 1.0 | |
[ToAccClone] Converting tuple const: ((), Double) -> D 1.0 | |
[ToAccClone] Converting tuple const: ((), Double) -> D 0.0 | |
[ToAccClone] Converting tuple const: ((), Double) -> D 0.0 | |
[ToAccClone] Converting tuple const: ((), Double) -> D 0.0 | |
[ToAccClone] convertArrayType ArraysR ((), Array) -> TTuple [TTuple [],TArray 2 (TTuple [TDouble,TDouble,TDouble])] -> TArray 2 (TTuple [TDouble,TDouble,TDouble]) | |
[ToAccClone] getAccType ArraysR ((), Array) -> TArray 2 (TTuple [TDouble,TDouble,TDouble]) | |
[ToAccClone] convertArrayType ArraysR ((), Array) -> TTuple [TTuple [],TArray 1 (TTuple [TDouble,TDouble,TDouble])] -> TArray 1 (TTuple [TDouble,TDouble,TDouble]) | |
[ToAccClone] getAccType ArraysR ((), Array) -> TArray 1 (TTuple [TDouble,TDouble,TDouble]) | |
[ToAccClone] Converting tuple const: ((), ()) -> Tup [] | |
[ToAccClone] convertArrayType ArraysR ((), Array) -> TTuple [TTuple [],TArray 1 (TTuple [TDouble,TDouble,TDouble])] -> TArray 1 (TTuple [TDouble,TDouble,TDouble]) | |
[ToAccClone] getAccType ArraysR ((), Array) -> TArray 1 (TTuple [TDouble,TDouble,TDouble]) | |
[ToAccClone] convertArrayType ArraysR ((), Array) -> TTuple [TTuple [],TArray 2 (TTuple [TDouble,TDouble,TDouble])] -> TArray 2 (TTuple [TDouble,TDouble,TDouble]) | |
[ToAccClone] getAccType ArraysR ((), Array) -> TArray 2 (TTuple [TDouble,TDouble,TDouble]) | |
[ToAccClone] Converting tuple const: ((), ()) -> Tup [] | |
[ToAccClone] convertArrayType ArraysR ((), Array) -> TTuple [TTuple [],TArray 1 (TTuple [TDouble,TDouble,TDouble])] -> TArray 1 (TTuple [TDouble,TDouble,TDouble]) | |
[ToAccClone] getAccType ArraysR ((), Array) -> TArray 1 (TTuple [TDouble,TDouble,TDouble]) | |
[ToAccClone] convertArrayType ArraysR ((), Array) -> TTuple [TTuple [],TArray 1 (TTuple [TDouble,TDouble,TDouble])] -> TArray 1 (TTuple [TDouble,TDouble,TDouble]) | |
[ToAccClone] getAccType ArraysR ((), Array) -> TArray 1 (TTuple [TDouble,TDouble,TDouble]) | |
Fold (TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject 2 1 (EVr v0),ETupProject 2 1 (EVr v1)], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject 1 1 (EVr v0),ETupProject 1 1 (EVr v1)], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject 0 1 (EVr v0),ETupProject 0 1 (EVr v1)]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
(Let (TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(aLt2, | |
TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
Use (TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
AccArray [10] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242,-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246,-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2,-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]) | |
(ZipWith (TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, TDouble, ETupProject 1 1 (EVr v4)) | |
(ELet (e6, TDouble, ETupProject 1 1 (EVr v3)) | |
(ELet (e7, TDouble, ETupProject 0 1 (EVr v4)) | |
(ELet (e8, TDouble, ETupProject 0 1 (EVr v3)) | |
(ELet (e9, TDouble, ETupProject 2 1 (EVr v3)) | |
(ELet (e10, | |
TDouble, | |
ETupProject 2 1 (EVr v4)) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7,EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
(Replicate (TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
[Fixed,All] | |
(EIndex [EShapeSize (EShape (Vr (TArray 1 | |
(TTuple [TDouble,TDouble, | |
TDouble])) | |
aLt2)), | |
EConst (Tup [])]) | |
(Vr (TArray 1 (TTuple [TDouble,TDouble,TDouble])) aLt2)) | |
(Replicate (TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
[All,Fixed] | |
(EIndex [EConst (Tup []), | |
EShapeSize (EShape (Vr (TArray 1 | |
(TTuple [TDouble,TDouble, | |
TDouble])) | |
aLt2))]) | |
(Vr (TArray 1 (TTuple [TDouble,TDouble,TDouble])) aLt2)))) | |
staticTuples, output was: | |
================================================================================ | |
* Retrieving type for EVr v0 in tenv [v0,v1] --> TTuple [TDouble,TDouble,TDouble] | |
* Retrieving type for EVr v1 in tenv [v0,v1] --> TTuple [TDouble,TDouble,TDouble] | |
* Retrieving type for EVr v0 in tenv [v0,v1] --> TTuple [TDouble,TDouble,TDouble] | |
* Retrieving type for EVr v1 in tenv [v0,v1] --> TTuple [TDouble,TDouble,TDouble] | |
* Retrieving type for EVr v0 in tenv [v0,v1] --> TTuple [TDouble,TDouble,TDouble] | |
* Retrieving type for EVr v1 in tenv [v0,v1] --> TTuple [TDouble,TDouble,TDouble] | |
* Retrieving type for EVr v4 in tenv [v3,v4] --> TTuple [TDouble,TDouble,TDouble] | |
* Retrieving type for EVr v3 in tenv [e5,v3,v4] --> TTuple [TDouble,TDouble,TDouble] | |
* Retrieving type for EVr v4 in tenv [e5,e6,v3,v4] --> TTuple [TDouble,TDouble,TDouble] | |
* Retrieving type for EVr v3 in tenv [e5,e6,e7,v3,v4] --> TTuple [TDouble,TDouble,TDouble] | |
* Retrieving type for EVr v3 in tenv [e5,e6,e7,e8,v3,v4] --> TTuple [TDouble,TDouble,TDouble] | |
* Retrieving type for EVr v4 in tenv [e5,e6,e7,e8,e9,v3,v4] --> TTuple [TDouble,TDouble,TDouble] | |
Fold (TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject 2 1 (EVr v0),ETupProject 2 1 (EVr v1)], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject 1 1 (EVr v0),ETupProject 1 1 (EVr v1)], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject 0 1 (EVr v0),ETupProject 0 1 (EVr v1)]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
(Let (TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(aLt2, | |
TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
Use (TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
AccArray [10] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242,-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246,-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2,-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]) | |
(ZipWith (TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, TDouble, ETupProject 1 1 (EVr v4)) | |
(ELet (e6, TDouble, ETupProject 1 1 (EVr v3)) | |
(ELet (e7, TDouble, ETupProject 0 1 (EVr v4)) | |
(ELet (e8, TDouble, ETupProject 0 1 (EVr v3)) | |
(ELet (e9, TDouble, ETupProject 2 1 (EVr v3)) | |
(ELet (e10, | |
TDouble, | |
ETupProject 2 1 (EVr v4)) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7,EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
(Replicate (TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
[Fixed,All] | |
(ETuple [EShapeSize (EShape (Vr (TArray 1 | |
(TTuple [TDouble,TDouble, | |
TDouble])) | |
aLt2)), | |
EConst (Tup [])]) | |
(Vr (TArray 1 (TTuple [TDouble,TDouble,TDouble])) aLt2)) | |
(Replicate (TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
[All,Fixed] | |
(ETuple [EConst (Tup []), | |
EShapeSize (EShape (Vr (TArray 1 | |
(TTuple [TDouble,TDouble, | |
TDouble])) | |
aLt2))]) | |
(Vr (TArray 1 (TTuple [TDouble,TDouble,TDouble])) aLt2)))) | |
liftComplexRands, output was: | |
================================================================================ | |
Let (TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(tmp_0, | |
TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
Fold (TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject 2 1 (EVr v0),ETupProject 2 1 (EVr v1)], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject 1 1 (EVr v0),ETupProject 1 1 (EVr v1)], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject 0 1 (EVr v0),ETupProject 0 1 (EVr v1)]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
(Let (TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(aLt2, | |
TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
Use (TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
AccArray [10] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242,-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246,-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2,-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]) | |
(Let (TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(tmp_1, | |
TArray 2 (TTuple [TDouble,TDouble,TDouble]), | |
ZipWith (TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, TDouble, ETupProject 1 1 (EVr v4)) | |
(ELet (e6, TDouble, ETupProject 1 1 (EVr v3)) | |
(ELet (e7, TDouble, ETupProject 0 1 (EVr v4)) | |
(ELet (e8, TDouble, ETupProject 0 1 (EVr v3)) | |
(ELet (e9, | |
TDouble, | |
ETupProject 2 1 (EVr v3)) | |
(ELet (e10, | |
TDouble, | |
ETupProject 2 1 (EVr v4)) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
(Let (TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(tmp_2, | |
TArray 2 (TTuple [TDouble,TDouble,TDouble]), | |
Replicate (TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
[Fixed,All] | |
(ETuple [EShapeSize (EShape (Vr (TArray 1 | |
(TTuple [TDouble, | |
TDouble, | |
TDouble])) | |
aLt2)), | |
EConst (Tup [])]) | |
(Vr (TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
aLt2)) | |
(Vr (TArray 2 (TTuple [TDouble,TDouble,TDouble])) tmp_2)) | |
(Let (TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(tmp_3, | |
TArray 2 (TTuple [TDouble,TDouble,TDouble]), | |
Replicate (TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
[All,Fixed] | |
(ETuple [EConst (Tup []), | |
EShapeSize (EShape (Vr (TArray 1 | |
(TTuple [TDouble, | |
TDouble, | |
TDouble])) | |
aLt2))]) | |
(Vr (TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
aLt2)) | |
(Vr (TArray 2 (TTuple [TDouble,TDouble,TDouble])) tmp_3))) | |
(Vr (TArray 2 (TTuple [TDouble,TDouble,TDouble])) tmp_1)))) | |
(Vr (TArray 1 (TTuple [TDouble,TDouble,TDouble])) tmp_0) | |
gatherLets, output was: | |
================================================================================ | |
([(aLt2, | |
TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
Use (TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
AccArray [10] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242,-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246,-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2,-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
(tmp_2, | |
TArray 2 (TTuple [TDouble,TDouble,TDouble]), | |
Replicate (TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
[Fixed,All] | |
(ETuple [EShapeSize (EShape (Vr (TArray 1 | |
(TTuple [TDouble,TDouble,TDouble])) | |
aLt2)), | |
EConst (Tup [])]) | |
(Vr (TArray 1 (TTuple [TDouble,TDouble,TDouble])) aLt2)), | |
(tmp_3, | |
TArray 2 (TTuple [TDouble,TDouble,TDouble]), | |
Replicate (TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
[All,Fixed] | |
(ETuple [EConst (Tup []), | |
EShapeSize (EShape (Vr (TArray 1 | |
(TTuple [TDouble,TDouble,TDouble])) | |
aLt2))]) | |
(Vr (TArray 1 (TTuple [TDouble,TDouble,TDouble])) aLt2)), | |
(tmp_1, | |
TArray 2 (TTuple [TDouble,TDouble,TDouble]), | |
ZipWith (TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, TDouble, ETupProject 1 1 (EVr v4)) | |
(ELet (e6, TDouble, ETupProject 1 1 (EVr v3)) | |
(ELet (e7, TDouble, ETupProject 0 1 (EVr v4)) | |
(ELet (e8, TDouble, ETupProject 0 1 (EVr v3)) | |
(ELet (e9, TDouble, ETupProject 2 1 (EVr v3)) | |
(ELet (e10, TDouble, ETupProject 2 1 (EVr v4)) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7,EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10,EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0),EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
(Vr (TArray 2 (TTuple [TDouble,TDouble,TDouble])) tmp_2) | |
(Vr (TArray 2 (TTuple [TDouble,TDouble,TDouble])) tmp_3)), | |
(tmp_0, | |
TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
Fold (TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject 2 1 (EVr v0),ETupProject 2 1 (EVr v1)], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject 1 1 (EVr v0),ETupProject 1 1 (EVr v1)], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject 0 1 (EVr v0),ETupProject 0 1 (EVr v1)]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
(Vr (TArray 2 (TTuple [TDouble,TDouble,TDouble])) tmp_1))], | |
Vr (TArray 1 (TTuple [TDouble,TDouble,TDouble])) tmp_0) | |
removeArrayTuple, output was: | |
================================================================================ | |
Prog {progBinds = [ProgBind aLt2 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right Use AccArray [10] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242,-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246,-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2,-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind tmp_2 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right Replicate [Fixed,All] | |
(ETuple [EShapeSize (EShape aLt2),EConst (Tup [])]) | |
aLt2), | |
ProgBind tmp_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right Replicate [All,Fixed] | |
(ETuple [EConst (Tup []),EShapeSize (EShape aLt2)]) | |
aLt2), | |
ProgBind tmp_1 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right ZipWith (Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
tmp_2 | |
tmp_3), | |
ProgBind tmp_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1)], | |
progResults = WithoutShapes [tmp_0], | |
progType = TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
uniqueCounter = 0, | |
typeEnv = [(aLt2, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3, TArray 2 (TTuple [TDouble,TDouble,TDouble]))]} | |
[dbg] engaging optional typecheck pass, AST size 109, num binds 5 | |
desugarUnit, output was: | |
================================================================================ | |
Prog {progBinds = [ProgBind aLt2 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right Use AccArray [10] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242,-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246,-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2,-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind tmp_2 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right Replicate [Fixed,All] | |
(ETuple [EShapeSize (EShape aLt2),EConst (Tup [])]) | |
aLt2), | |
ProgBind tmp_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right Replicate [All,Fixed] | |
(ETuple [EConst (Tup []),EShapeSize (EShape aLt2)]) | |
aLt2), | |
ProgBind tmp_1 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right ZipWith (Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
tmp_2 | |
tmp_3), | |
ProgBind tmp_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1)], | |
progResults = WithoutShapes [tmp_0], | |
progType = TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
uniqueCounter = 0, | |
typeEnv = [(aLt2, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3, TArray 2 (TTuple [TDouble,TDouble,TDouble]))]} | |
[dbg] engaging optional typecheck pass, AST size 109, num binds 5 | |
sizeAnalysis, output was: | |
================================================================================ | |
Prog {progBinds = [ProgBind aLt2 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10]) | |
(Right Use AccArray [10] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242,-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246,-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2,-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind tmp_2 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10]) | |
(Right Replicate [Fixed,All] | |
(ETuple [EShapeSize (EShape aLt2),EConst (Tup [])]) | |
aLt2), | |
ProgBind tmp_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10]) | |
(Right Replicate [All,Fixed] | |
(ETuple [EConst (Tup []),EShapeSize (EShape aLt2)]) | |
aLt2), | |
ProgBind tmp_1 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10]) | |
(Right ZipWith (Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
tmp_2 | |
tmp_3), | |
ProgBind tmp_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10]) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1)], | |
progResults = WithoutShapes [tmp_0], | |
progType = TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
uniqueCounter = 0, | |
typeEnv = [(aLt2, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3, TArray 2 (TTuple [TDouble,TDouble,TDouble]))]} | |
[dbg] engaging optional typecheck pass, AST size 109, num binds 5 | |
explicitShapes, output was: | |
================================================================================ | |
Prog {progBinds = [ProgBind aLt2 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10]) | |
(Right Use AccArray [10] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242,-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246,-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2,-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind tmp_2 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10]) | |
(Right Replicate [Fixed,All] | |
(ETuple [EConst (I 10),EConst (Tup [])]) | |
aLt2), | |
ProgBind tmp_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10]) | |
(Right Replicate [All,Fixed] | |
(ETuple [EConst (Tup []),EConst (I 10)]) | |
aLt2), | |
ProgBind tmp_1 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10]) | |
(Right ZipWith (Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
tmp_2 | |
tmp_3), | |
ProgBind tmp_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10]) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1), | |
ProgBind tmp_0_shape TInt UnknownSize (Left EConst (I 10))], | |
progResults = WithShapes [(tmp_0, tmp_0_shape)], | |
progType = TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
uniqueCounter = 0, | |
typeEnv = [(aLt2, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_shape, TInt), | |
(tmp_1, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3, TArray 2 (TTuple [TDouble,TDouble,TDouble]))]} | |
[dbg] engaging optional typecheck pass, AST size 108, num binds 6 | |
trackUses, output was: | |
================================================================================ | |
Prog {progBinds = [ProgBind aLt2 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10], Uses {scalarUses = 0, arrayUses = 2}) | |
(Right Use AccArray [10] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242,-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246,-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2,-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind tmp_2 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Uses {scalarUses = 0, arrayUses = 1}) | |
(Right Replicate [Fixed,All] | |
(ETuple [EConst (I 10),EConst (Tup [])]) | |
aLt2), | |
ProgBind tmp_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Uses {scalarUses = 0, arrayUses = 1}) | |
(Right Replicate [All,Fixed] | |
(ETuple [EConst (Tup []),EConst (I 10)]) | |
aLt2), | |
ProgBind tmp_1 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Uses {scalarUses = 0, arrayUses = 1}) | |
(Right ZipWith (Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
tmp_2 | |
tmp_3), | |
ProgBind tmp_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10], Uses {scalarUses = 0, arrayUses = 1}) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1), | |
ProgBind tmp_0_shape | |
TInt | |
(UnknownSize, Uses {scalarUses = 0, arrayUses = 0}) | |
(Left EConst (I 10))], | |
progResults = WithShapes [(tmp_0, tmp_0_shape)], | |
progType = TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
uniqueCounter = 0, | |
typeEnv = [(aLt2, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_shape, TInt), | |
(tmp_1, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3, TArray 2 (TTuple [TDouble,TDouble,TDouble]))]} | |
[dbg] engaging optional typecheck pass, AST size 108, num binds 6 | |
fuseMaps, output was: | |
================================================================================ | |
Prog {progBinds = [ProgBind aLt2 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10], Uses {scalarUses = 0, arrayUses = 2}) | |
(Right Use AccArray [10] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242,-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246,-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2,-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind tmp_2 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Uses {scalarUses = 0, arrayUses = 1}) | |
(Right Replicate [Fixed,All] | |
(ETuple [EConst (I 10),EConst (Tup [])]) | |
aLt2), | |
ProgBind tmp_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Uses {scalarUses = 0, arrayUses = 1}) | |
(Right Replicate [All,Fixed] | |
(ETuple [EConst (Tup []),EConst (I 10)]) | |
aLt2), | |
ProgBind tmp_1 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Uses {scalarUses = 0, arrayUses = 1}) | |
(Right ZipWith (Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
tmp_2 | |
tmp_3), | |
ProgBind tmp_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10], Uses {scalarUses = 0, arrayUses = 1}) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1), | |
ProgBind tmp_0_shape | |
TInt | |
(UnknownSize, Uses {scalarUses = 0, arrayUses = 0}) | |
(Left EConst (I 10))], | |
progResults = WithShapes [(tmp_0, tmp_0_shape)], | |
progType = TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
uniqueCounter = 0, | |
typeEnv = [(aLt2, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_shape, TInt), | |
(tmp_1, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3, TArray 2 (TTuple [TDouble,TDouble,TDouble]))]} | |
[dbg] engaging optional typecheck pass, AST size 108, num binds 6 | |
fissionAll 2X, output was: | |
================================================================================ | |
Prog {progBinds = [ProgBind aLt2 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10], Orig) | |
(Right Use AccArray [10] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242,-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246,-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2,-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind aLt2_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Fissioned 0 2 aLt2) | |
(Right Use AccArray [5] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2]), | |
ProgBind aLt2_1 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Fissioned 1 2 aLt2) | |
(Right Use AccArray [5] [-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind tmp_2_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5], Fissioned 0 2 tmp_2) | |
(Right Replicate [Fixed,All] | |
(ETuple [EConst (I 10),EConst (Tup [])]) | |
aLt2_0), | |
ProgBind tmp_2_4 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5], Fissioned 1 2 tmp_2) | |
(Right Replicate [Fixed,All] | |
(ETuple [EConst (I 10),EConst (Tup [])]) | |
aLt2_1), | |
ProgBind tmp_2 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Concatted [tmp_2_3,tmp_2_4]) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix5, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_2_3 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}])) | |
(EIndexScalar tmp_2_4 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_3_6 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5], Fissioned 0 2 tmp_3) | |
(Right Replicate [All,Fixed] | |
(ETuple [EConst (Tup []),EConst (I 10)]) | |
aLt2_0), | |
ProgBind tmp_3_7 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5], Fissioned 1 2 tmp_3) | |
(Right Replicate [All,Fixed] | |
(ETuple [EConst (Tup []),EConst (I 10)]) | |
aLt2_1), | |
ProgBind tmp_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Concatted [tmp_3_6,tmp_3_7]) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix8, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_3_6 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}])) | |
(EIndexScalar tmp_3_7 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_1_9 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5], Fissioned 0 2 tmp_1) | |
(Right ZipWith (Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
tmp_2_3 | |
tmp_3_6), | |
ProgBind tmp_1_10 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5], Fissioned 1 2 tmp_1) | |
(Right ZipWith (Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
tmp_2_4 | |
tmp_3_7), | |
ProgBind tmp_1 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Concatted [tmp_1_9,tmp_1_10]) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix11, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_1_9 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}])) | |
(EIndexScalar tmp_1_10 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_0_12 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Fissioned 0 2 tmp_0) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_9), | |
ProgBind tmp_0_13 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Fissioned 1 2 tmp_0) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_10), | |
ProgBind tmp_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10], Concatted [tmp_0_12,tmp_0_13]) | |
(Right Generate (EConst (I 10)) | |
(Lam1 (ix14, TInt) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[EVr ix14,EConst (I 5)]) | |
(EIndexScalar tmp_0_12 (EVr ix14)) | |
(EIndexScalar tmp_0_13 | |
(EPrimApp TInt | |
(NP Sub) | |
[EVr ix14, | |
EConst (I 5)]))))), | |
ProgBind tmp_0_shape | |
TInt | |
(UnknownSize, Orig) | |
(Left EConst (I 10))], | |
progResults = WithShapes [(tmp_0, tmp_0_shape)], | |
progType = TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
uniqueCounter = 15, | |
typeEnv = [(aLt2, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_1, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_12, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_13, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_shape, TInt), | |
(tmp_1, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_10, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_9, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_4, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_6, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_7, TArray 2 (TTuple [TDouble,TDouble,TDouble]))]} | |
desugarUnit, output was: | |
================================================================================ | |
Prog {progBinds = [ProgBind aLt2 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right Use AccArray [10] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242,-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246,-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2,-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind aLt2_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right Use AccArray [5] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2]), | |
ProgBind aLt2_1 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right Use AccArray [5] [-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind tmp_2_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right Replicate [Fixed,All] | |
(ETuple [EConst (I 10),EConst (Tup [])]) | |
aLt2_0), | |
ProgBind tmp_2_4 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right Replicate [Fixed,All] | |
(ETuple [EConst (I 10),EConst (Tup [])]) | |
aLt2_1), | |
ProgBind tmp_2 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix5, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_2_3 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}])) | |
(EIndexScalar tmp_2_4 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_3_6 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right Replicate [All,Fixed] | |
(ETuple [EConst (Tup []),EConst (I 10)]) | |
aLt2_0), | |
ProgBind tmp_3_7 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right Replicate [All,Fixed] | |
(ETuple [EConst (Tup []),EConst (I 10)]) | |
aLt2_1), | |
ProgBind tmp_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix8, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_3_6 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}])) | |
(EIndexScalar tmp_3_7 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_1_9 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right ZipWith (Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
tmp_2_3 | |
tmp_3_6), | |
ProgBind tmp_1_10 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right ZipWith (Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
tmp_2_4 | |
tmp_3_7), | |
ProgBind tmp_1 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix11, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_1_9 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}])) | |
(EIndexScalar tmp_1_10 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_0_12 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_9), | |
ProgBind tmp_0_13 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_10), | |
ProgBind tmp_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
() | |
(Right Generate (EConst (I 10)) | |
(Lam1 (ix14, TInt) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[EVr ix14,EConst (I 5)]) | |
(EIndexScalar tmp_0_12 (EVr ix14)) | |
(EIndexScalar tmp_0_13 | |
(EPrimApp TInt | |
(NP Sub) | |
[EVr ix14, | |
EConst (I 5)]))))), | |
ProgBind tmp_0_shape TInt () (Left EConst (I 10))], | |
progResults = WithShapes [(tmp_0, tmp_0_shape)], | |
progType = TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
uniqueCounter = 15, | |
typeEnv = [(aLt2, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_1, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_12, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_13, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_shape, TInt), | |
(tmp_1, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_10, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_9, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_4, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_6, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_7, TArray 2 (TTuple [TDouble,TDouble,TDouble]))]} | |
[dbg] engaging optional typecheck pass, AST size 269, num binds 16 | |
sizeAnalysis, output was: | |
================================================================================ | |
Prog {progBinds = [ProgBind aLt2 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10]) | |
(Right Use AccArray [10] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242,-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246,-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2,-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind aLt2_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5]) | |
(Right Use AccArray [5] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2]), | |
ProgBind aLt2_1 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5]) | |
(Right Use AccArray [5] [-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind tmp_2_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5]) | |
(Right Replicate [Fixed,All] | |
(ETuple [EConst (I 10),EConst (Tup [])]) | |
aLt2_0), | |
ProgBind tmp_2_4 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5]) | |
(Right Replicate [Fixed,All] | |
(ETuple [EConst (I 10),EConst (Tup [])]) | |
aLt2_1), | |
ProgBind tmp_2 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10]) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix5, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_2_3 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}])) | |
(EIndexScalar tmp_2_4 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_3_6 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,10]) | |
(Right Replicate [All,Fixed] | |
(ETuple [EConst (Tup []),EConst (I 10)]) | |
aLt2_0), | |
ProgBind tmp_3_7 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,10]) | |
(Right Replicate [All,Fixed] | |
(ETuple [EConst (Tup []),EConst (I 10)]) | |
aLt2_1), | |
ProgBind tmp_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10]) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix8, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_3_6 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}])) | |
(EIndexScalar tmp_3_7 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_1_9 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,5]) | |
(Right ZipWith (Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
tmp_2_3 | |
tmp_3_6), | |
ProgBind tmp_1_10 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,5]) | |
(Right ZipWith (Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
tmp_2_4 | |
tmp_3_7), | |
ProgBind tmp_1 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10]) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix11, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_1_9 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}])) | |
(EIndexScalar tmp_1_10 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_0_12 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5]) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_9), | |
ProgBind tmp_0_13 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5]) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_10), | |
ProgBind tmp_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10]) | |
(Right Generate (EConst (I 10)) | |
(Lam1 (ix14, TInt) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[EVr ix14,EConst (I 5)]) | |
(EIndexScalar tmp_0_12 (EVr ix14)) | |
(EIndexScalar tmp_0_13 | |
(EPrimApp TInt | |
(NP Sub) | |
[EVr ix14, | |
EConst (I 5)]))))), | |
ProgBind tmp_0_shape TInt (KnownSize [10]) (Left EConst (I 10))], | |
progResults = WithShapes [(tmp_0, tmp_0_shape)], | |
progType = TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
uniqueCounter = 15, | |
typeEnv = [(aLt2, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_1, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_12, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_13, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_shape, TInt), | |
(tmp_1, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_10, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_9, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_4, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_6, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_7, TArray 2 (TTuple [TDouble,TDouble,TDouble]))]} | |
[dbg] engaging optional typecheck pass, AST size 269, num binds 16 | |
explicitShapes, output was: | |
================================================================================ | |
Prog {progBinds = [ProgBind aLt2 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10]) | |
(Right Use AccArray [10] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242,-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246,-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2,-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind aLt2_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5]) | |
(Right Use AccArray [5] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2]), | |
ProgBind aLt2_1 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5]) | |
(Right Use AccArray [5] [-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind tmp_2_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5]) | |
(Right Replicate [Fixed,All] | |
(ETuple [EConst (I 10),EConst (Tup [])]) | |
aLt2_0), | |
ProgBind tmp_2_4 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5]) | |
(Right Replicate [Fixed,All] | |
(ETuple [EConst (I 10),EConst (Tup [])]) | |
aLt2_1), | |
ProgBind tmp_2 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10]) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix5, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_2_3 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}])) | |
(EIndexScalar tmp_2_4 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_3_6 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,10]) | |
(Right Replicate [All,Fixed] | |
(ETuple [EConst (Tup []),EConst (I 10)]) | |
aLt2_0), | |
ProgBind tmp_3_7 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,10]) | |
(Right Replicate [All,Fixed] | |
(ETuple [EConst (Tup []),EConst (I 10)]) | |
aLt2_1), | |
ProgBind tmp_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10]) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix8, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_3_6 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}])) | |
(EIndexScalar tmp_3_7 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_1_9 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,5]) | |
(Right ZipWith (Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
tmp_2_3 | |
tmp_3_6), | |
ProgBind tmp_1_10 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,5]) | |
(Right ZipWith (Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
tmp_2_4 | |
tmp_3_7), | |
ProgBind tmp_1 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10]) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix11, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_1_9 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}])) | |
(EIndexScalar tmp_1_10 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_0_12 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5]) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_9), | |
ProgBind tmp_0_13 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5]) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_10), | |
ProgBind tmp_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10]) | |
(Right Generate (EConst (I 10)) | |
(Lam1 (ix14, TInt) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[EVr ix14,EConst (I 5)]) | |
(EIndexScalar tmp_0_12 (EVr ix14)) | |
(EIndexScalar tmp_0_13 | |
(EPrimApp TInt | |
(NP Sub) | |
[EVr ix14, | |
EConst (I 5)]))))), | |
ProgBind tmp_0_shape TInt (KnownSize [10]) (Left EConst (I 10))], | |
progResults = WithShapes [(tmp_0, tmp_0_shape)], | |
progType = TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
uniqueCounter = 15, | |
typeEnv = [(aLt2, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_1, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_12, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_13, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_shape, TInt), | |
(tmp_1, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_10, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_9, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_4, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_6, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_7, TArray 2 (TTuple [TDouble,TDouble,TDouble]))]} | |
[dbg] engaging optional typecheck pass, AST size 269, num binds 16 | |
trackUses, output was: | |
================================================================================ | |
Prog {progBinds = [ProgBind aLt2 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10], Uses {scalarUses = 0, arrayUses = 0}) | |
(Right Use AccArray [10] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242,-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246,-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2,-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind aLt2_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Uses {scalarUses = 0, arrayUses = 2}) | |
(Right Use AccArray [5] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2]), | |
ProgBind aLt2_1 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Uses {scalarUses = 0, arrayUses = 2}) | |
(Right Use AccArray [5] [-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind tmp_2_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5], Uses {scalarUses = 1, arrayUses = 1}) | |
(Right Replicate [Fixed,All] | |
(ETuple [EConst (I 10),EConst (Tup [])]) | |
aLt2_0), | |
ProgBind tmp_2_4 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5], Uses {scalarUses = 1, arrayUses = 1}) | |
(Right Replicate [Fixed,All] | |
(ETuple [EConst (I 10),EConst (Tup [])]) | |
aLt2_1), | |
ProgBind tmp_2 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Uses {scalarUses = 0, arrayUses = 0}) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix5, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_2_3 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}])) | |
(EIndexScalar tmp_2_4 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_3_6 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,10], Uses {scalarUses = 1, arrayUses = 1}) | |
(Right Replicate [All,Fixed] | |
(ETuple [EConst (Tup []),EConst (I 10)]) | |
aLt2_0), | |
ProgBind tmp_3_7 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,10], Uses {scalarUses = 1, arrayUses = 1}) | |
(Right Replicate [All,Fixed] | |
(ETuple [EConst (Tup []),EConst (I 10)]) | |
aLt2_1), | |
ProgBind tmp_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Uses {scalarUses = 0, arrayUses = 0}) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix8, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_3_6 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}])) | |
(EIndexScalar tmp_3_7 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_1_9 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,5], Uses {scalarUses = 1, arrayUses = 1}) | |
(Right ZipWith (Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
tmp_2_3 | |
tmp_3_6), | |
ProgBind tmp_1_10 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,5], Uses {scalarUses = 1, arrayUses = 1}) | |
(Right ZipWith (Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
tmp_2_4 | |
tmp_3_7), | |
ProgBind tmp_1 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Uses {scalarUses = 0, arrayUses = 0}) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix11, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_1_9 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}])) | |
(EIndexScalar tmp_1_10 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_0_12 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Uses {scalarUses = 1, arrayUses = 0}) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_9), | |
ProgBind tmp_0_13 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Uses {scalarUses = 1, arrayUses = 0}) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_10), | |
ProgBind tmp_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10], Uses {scalarUses = 0, arrayUses = 1}) | |
(Right Generate (EConst (I 10)) | |
(Lam1 (ix14, TInt) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[EVr ix14,EConst (I 5)]) | |
(EIndexScalar tmp_0_12 (EVr ix14)) | |
(EIndexScalar tmp_0_13 | |
(EPrimApp TInt | |
(NP Sub) | |
[EVr ix14, | |
EConst (I 5)]))))), | |
ProgBind tmp_0_shape | |
TInt | |
(KnownSize [10], Uses {scalarUses = 0, arrayUses = 0}) | |
(Left EConst (I 10))], | |
progResults = WithShapes [(tmp_0, tmp_0_shape)], | |
progType = TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
uniqueCounter = 15, | |
typeEnv = [(aLt2, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_1, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_12, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_13, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_shape, TInt), | |
(tmp_1, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_10, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_9, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_4, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_6, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_7, TArray 2 (TTuple [TDouble,TDouble,TDouble]))]} | |
[dbg] engaging optional typecheck pass, AST size 269, num binds 16 | |
fuseMaps, output was: | |
================================================================================ | |
Prog {progBinds = [ProgBind aLt2 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10], Uses {scalarUses = 0, arrayUses = 0}) | |
(Right Use AccArray [10] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242,-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246,-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2,-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind aLt2_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Uses {scalarUses = 0, arrayUses = 2}) | |
(Right Use AccArray [5] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2]), | |
ProgBind aLt2_1 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Uses {scalarUses = 0, arrayUses = 2}) | |
(Right Use AccArray [5] [-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind tmp_2_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5], Uses {scalarUses = 1, arrayUses = 1}) | |
(Right Replicate [Fixed,All] | |
(ETuple [EConst (I 10),EConst (Tup [])]) | |
aLt2_0), | |
ProgBind tmp_2_4 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5], Uses {scalarUses = 1, arrayUses = 1}) | |
(Right Replicate [Fixed,All] | |
(ETuple [EConst (I 10),EConst (Tup [])]) | |
aLt2_1), | |
ProgBind tmp_2 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Uses {scalarUses = 0, arrayUses = 0}) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix5, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_2_3 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}])) | |
(EIndexScalar tmp_2_4 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_3_6 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,10], Uses {scalarUses = 1, arrayUses = 1}) | |
(Right Replicate [All,Fixed] | |
(ETuple [EConst (Tup []),EConst (I 10)]) | |
aLt2_0), | |
ProgBind tmp_3_7 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,10], Uses {scalarUses = 1, arrayUses = 1}) | |
(Right Replicate [All,Fixed] | |
(ETuple [EConst (Tup []),EConst (I 10)]) | |
aLt2_1), | |
ProgBind tmp_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Uses {scalarUses = 0, arrayUses = 0}) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix8, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_3_6 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}])) | |
(EIndexScalar tmp_3_7 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_1_9 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,5], Uses {scalarUses = 1, arrayUses = 1}) | |
(Right ZipWith (Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
tmp_2_3 | |
tmp_3_6), | |
ProgBind tmp_1_10 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,5], Uses {scalarUses = 1, arrayUses = 1}) | |
(Right ZipWith (Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
tmp_2_4 | |
tmp_3_7), | |
ProgBind tmp_1 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Uses {scalarUses = 0, arrayUses = 0}) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix11, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_1_9 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}])) | |
(EIndexScalar tmp_1_10 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_0_12 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Uses {scalarUses = 1, arrayUses = 0}) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_9), | |
ProgBind tmp_0_13 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Uses {scalarUses = 1, arrayUses = 0}) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_10), | |
ProgBind tmp_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10], Uses {scalarUses = 0, arrayUses = 1}) | |
(Right Generate (EConst (I 10)) | |
(Lam1 (ix14, TInt) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[EVr ix14,EConst (I 5)]) | |
(EIndexScalar tmp_0_12 (EVr ix14)) | |
(EIndexScalar tmp_0_13 | |
(EPrimApp TInt | |
(NP Sub) | |
[EVr ix14, | |
EConst (I 5)]))))), | |
ProgBind tmp_0_shape | |
TInt | |
(KnownSize [10], Uses {scalarUses = 0, arrayUses = 0}) | |
(Left EConst (I 10))], | |
progResults = WithShapes [(tmp_0, tmp_0_shape)], | |
progType = TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
uniqueCounter = 15, | |
typeEnv = [(aLt2, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_1, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_12, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_13, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_shape, TInt), | |
(tmp_1, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_10, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_9, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_4, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_6, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_7, TArray 2 (TTuple [TDouble,TDouble,TDouble]))]} | |
[dbg] engaging optional typecheck pass, AST size 269, num binds 16 | |
desugToBackperm, output was: | |
================================================================================ | |
Prog {progBinds = [ProgBind aLt2 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10], Uses {scalarUses = 0, arrayUses = 0}) | |
(Right Use AccArray [10] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242,-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246,-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2,-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind aLt2_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Uses {scalarUses = 0, arrayUses = 2}) | |
(Right Use AccArray [5] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2]), | |
ProgBind aLt2_1 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Uses {scalarUses = 0, arrayUses = 2}) | |
(Right Use AccArray [5] [-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind tmp_2_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5], Uses {scalarUses = 1, arrayUses = 1}) | |
(Right Backpermute (ETuple [EConst (I 10),EConst (I 5)]) | |
(Lam1 (indBP_1003, TTuple [TInt,TInt]) | |
(ETupProject | |
{indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_1003})) | |
aLt2_0), | |
ProgBind tmp_2_4 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5], Uses {scalarUses = 1, arrayUses = 1}) | |
(Right Backpermute (ETuple [EConst (I 10),EConst (I 5)]) | |
(Lam1 (indBP_1004, TTuple [TInt,TInt]) | |
(ETupProject | |
{indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_1004})) | |
aLt2_1), | |
ProgBind tmp_2 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Uses {scalarUses = 0, arrayUses = 0}) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix5, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_2_3 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}])) | |
(EIndexScalar tmp_2_4 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_3_6 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,10], Uses {scalarUses = 1, arrayUses = 1}) | |
(Right Backpermute (ETuple [EConst (I 5),EConst (I 10)]) | |
(Lam1 (indBP_1006, TTuple [TInt,TInt]) | |
(ETupProject | |
{indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_1006})) | |
aLt2_0), | |
ProgBind tmp_3_7 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,10], Uses {scalarUses = 1, arrayUses = 1}) | |
(Right Backpermute (ETuple [EConst (I 5),EConst (I 10)]) | |
(Lam1 (indBP_1007, TTuple [TInt,TInt]) | |
(ETupProject | |
{indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_1007})) | |
aLt2_1), | |
ProgBind tmp_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Uses {scalarUses = 0, arrayUses = 0}) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix8, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_3_6 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}])) | |
(EIndexScalar tmp_3_7 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_1_9 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,5], Uses {scalarUses = 1, arrayUses = 1}) | |
(Right ZipWith (Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
tmp_2_3 | |
tmp_3_6), | |
ProgBind tmp_1_10 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,5], Uses {scalarUses = 1, arrayUses = 1}) | |
(Right ZipWith (Lam2 (v3, TTuple [TDouble,TDouble,TDouble]) | |
(v4, TTuple [TDouble,TDouble,TDouble]) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))) | |
tmp_2_4 | |
tmp_3_7), | |
ProgBind tmp_1 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Uses {scalarUses = 0, arrayUses = 0}) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix11, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_1_9 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}])) | |
(EIndexScalar tmp_1_10 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_0_12 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Uses {scalarUses = 1, arrayUses = 0}) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_9), | |
ProgBind tmp_0_13 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Uses {scalarUses = 1, arrayUses = 0}) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_10), | |
ProgBind tmp_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10], Uses {scalarUses = 0, arrayUses = 1}) | |
(Right Generate (EConst (I 10)) | |
(Lam1 (ix14, TInt) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[EVr ix14,EConst (I 5)]) | |
(EIndexScalar tmp_0_12 (EVr ix14)) | |
(EIndexScalar tmp_0_13 | |
(EPrimApp TInt | |
(NP Sub) | |
[EVr ix14, | |
EConst (I 5)]))))), | |
ProgBind tmp_0_shape | |
TInt | |
(KnownSize [10], Uses {scalarUses = 0, arrayUses = 0}) | |
(Left EConst (I 10))], | |
progResults = WithShapes [(tmp_0, tmp_0_shape)], | |
progType = TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
uniqueCounter = 15, | |
typeEnv = [(aLt2, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_1, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_12, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_13, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_shape, TInt), | |
(tmp_1, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_10, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_9, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_4, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_6, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_7, TArray 2 (TTuple [TDouble,TDouble,TDouble]))]} | |
[dbg] engaging optional typecheck pass, AST size 277, num binds 16 | |
desugtoGenerate, output was: | |
================================================================================ | |
Prog {progBinds = [ProgBind aLt2 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10]) | |
(Right Use AccArray [10] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242,-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246,-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2,-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind aLt2_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5]) | |
(Right Use AccArray [5] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2]), | |
ProgBind aLt2_1 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5]) | |
(Right Use AccArray [5] [-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind tmp_2_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5]) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 5)]) | |
(Lam1 (indBP_1003, TTuple [TInt,TInt]) | |
(EIndexScalar aLt2_0 | |
(ETupProject | |
{indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_1003})))), | |
ProgBind tmp_2_4 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5]) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 5)]) | |
(Lam1 (indBP_1004, TTuple [TInt,TInt]) | |
(EIndexScalar aLt2_1 | |
(ETupProject | |
{indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_1004})))), | |
ProgBind tmp_2 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10]) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix5, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_2_3 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}])) | |
(EIndexScalar tmp_2_4 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_3_6 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,10]) | |
(Right Generate (ETuple [EConst (I 5),EConst (I 10)]) | |
(Lam1 (indBP_1006, TTuple [TInt,TInt]) | |
(EIndexScalar aLt2_0 | |
(ETupProject | |
{indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_1006})))), | |
ProgBind tmp_3_7 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,10]) | |
(Right Generate (ETuple [EConst (I 5),EConst (I 10)]) | |
(Lam1 (indBP_1007, TTuple [TInt,TInt]) | |
(EIndexScalar aLt2_1 | |
(ETupProject | |
{indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_1007})))), | |
ProgBind tmp_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10]) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix8, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_3_6 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}])) | |
(EIndexScalar tmp_3_7 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_1_9 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,5]) | |
(Right Generate (ETuple [EConst (I 5),EConst (I 5)]) | |
(Lam1 (indG_2009, TTuple [TInt,TInt]) | |
(ELet (v3, | |
TTuple [TDouble,TDouble,TDouble], | |
EIndexScalar tmp_2_3 (EVr indG_2009)) | |
(ELet (v4, | |
TTuple [TDouble,TDouble,TDouble], | |
EIndexScalar tmp_3_6 (EVr indG_2009)) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)])))))))))))), | |
ProgBind tmp_1_10 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,5]) | |
(Right Generate (ETuple [EConst (I 5),EConst (I 5)]) | |
(Lam1 (indG_2010, TTuple [TInt,TInt]) | |
(ELet (v3, | |
TTuple [TDouble,TDouble,TDouble], | |
EIndexScalar tmp_2_4 (EVr indG_2010)) | |
(ELet (v4, | |
TTuple [TDouble,TDouble,TDouble], | |
EIndexScalar tmp_3_7 (EVr indG_2010)) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)])))))))))))), | |
ProgBind tmp_1 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10]) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix11, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_1_9 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}])) | |
(EIndexScalar tmp_1_10 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_0_12 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5]) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_9), | |
ProgBind tmp_0_13 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5]) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_10), | |
ProgBind tmp_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10]) | |
(Right Generate (EConst (I 10)) | |
(Lam1 (ix14, TInt) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[EVr ix14,EConst (I 5)]) | |
(EIndexScalar tmp_0_12 (EVr ix14)) | |
(EIndexScalar tmp_0_13 | |
(EPrimApp TInt | |
(NP Sub) | |
[EVr ix14, | |
EConst (I 5)]))))), | |
ProgBind tmp_0_shape TInt (KnownSize [10]) (Left EConst (I 10))], | |
progResults = WithShapes [(tmp_0, tmp_0_shape)], | |
progType = TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
uniqueCounter = 15, | |
typeEnv = [(aLt2, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_1, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_12, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_13, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_shape, TInt), | |
(tmp_1, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_10, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_9, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_4, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_6, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_7, TArray 2 (TTuple [TDouble,TDouble,TDouble]))]} | |
[dbg] engaging optional typecheck pass, AST size 299, num binds 16 | |
estimateCost, output was: | |
================================================================================ | |
Prog {progBinds = [ProgBind aLt2 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10], Cost 0) | |
(Right Use AccArray [10] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242,-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246,-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2,-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind aLt2_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Cost 0) | |
(Right Use AccArray [5] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2]), | |
ProgBind aLt2_1 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Cost 0) | |
(Right Use AccArray [5] [-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind tmp_2_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5], Cost 1) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 5)]) | |
(Lam1 (indBP_1003, TTuple [TInt,TInt]) | |
(EIndexScalar aLt2_0 | |
(ETupProject | |
{indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_1003})))), | |
ProgBind tmp_2_4 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5], Cost 1) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 5)]) | |
(Lam1 (indBP_1004, TTuple [TInt,TInt]) | |
(EIndexScalar aLt2_1 | |
(ETupProject | |
{indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_1004})))), | |
ProgBind tmp_2 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Cost 7) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix5, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_2_3 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}])) | |
(EIndexScalar tmp_2_4 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_3_6 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,10], Cost 1) | |
(Right Generate (ETuple [EConst (I 5),EConst (I 10)]) | |
(Lam1 (indBP_1006, TTuple [TInt,TInt]) | |
(EIndexScalar aLt2_0 | |
(ETupProject | |
{indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_1006})))), | |
ProgBind tmp_3_7 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,10], Cost 1) | |
(Right Generate (ETuple [EConst (I 5),EConst (I 10)]) | |
(Lam1 (indBP_1007, TTuple [TInt,TInt]) | |
(EIndexScalar aLt2_1 | |
(ETupProject | |
{indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_1007})))), | |
ProgBind tmp_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Cost 7) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix8, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_3_6 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}])) | |
(EIndexScalar tmp_3_7 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_1_9 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,5], Cost 31) | |
(Right Generate (ETuple [EConst (I 5),EConst (I 5)]) | |
(Lam1 (indG_2009, TTuple [TInt,TInt]) | |
(ELet (v3, | |
TTuple [TDouble,TDouble,TDouble], | |
EIndexScalar tmp_2_3 (EVr indG_2009)) | |
(ELet (v4, | |
TTuple [TDouble,TDouble,TDouble], | |
EIndexScalar tmp_3_6 (EVr indG_2009)) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)])))))))))))), | |
ProgBind tmp_1_10 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,5], Cost 31) | |
(Right Generate (ETuple [EConst (I 5),EConst (I 5)]) | |
(Lam1 (indG_2010, TTuple [TInt,TInt]) | |
(ELet (v3, | |
TTuple [TDouble,TDouble,TDouble], | |
EIndexScalar tmp_2_4 (EVr indG_2010)) | |
(ELet (v4, | |
TTuple [TDouble,TDouble,TDouble], | |
EIndexScalar tmp_3_7 (EVr indG_2010)) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)])))))))))))), | |
ProgBind tmp_1 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Cost 7) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix11, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_1_9 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}])) | |
(EIndexScalar tmp_1_10 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_0_12 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Cost 3) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_9), | |
ProgBind tmp_0_13 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Cost 3) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_10), | |
ProgBind tmp_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10], Cost 7) | |
(Right Generate (EConst (I 10)) | |
(Lam1 (ix14, TInt) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[EVr ix14,EConst (I 5)]) | |
(EIndexScalar tmp_0_12 (EVr ix14)) | |
(EIndexScalar tmp_0_13 | |
(EPrimApp TInt | |
(NP Sub) | |
[EVr ix14, | |
EConst (I 5)]))))), | |
ProgBind tmp_0_shape | |
TInt | |
(KnownSize [10], Cost 1) | |
(Left EConst (I 10))], | |
progResults = WithShapes [(tmp_0, tmp_0_shape)], | |
progType = TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
uniqueCounter = 15, | |
typeEnv = [(aLt2, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_1, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_12, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_13, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_shape, TInt), | |
(tmp_1, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_10, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_9, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_4, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_6, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_7, TArray 2 (TTuple [TDouble,TDouble,TDouble]))]} | |
[dbg] engaging optional typecheck pass, AST size 299, num binds 16 | |
inlineCheap, output was: | |
================================================================================ | |
!! Victory, inlineCheap: inlining reference to tmp_2_3 | |
!! Victory, inlineCheap: inlining reference to tmp_2_4 | |
!! Victory, inlineCheap: inlining reference to tmp_3_6 | |
!! Victory, inlineCheap: inlining reference to tmp_3_7 | |
!! Victory, inlineCheap: inlining reference to tmp_2_3 | |
!! Victory, inlineCheap: inlining reference to tmp_3_6 | |
!! Victory, inlineCheap: inlining reference to tmp_2_4 | |
!! Victory, inlineCheap: inlining reference to tmp_3_7 | |
Prog {progBinds = [ProgBind aLt2 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10]) | |
(Right Use AccArray [10] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242,-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246,-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2,-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind aLt2_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5]) | |
(Right Use AccArray [5] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2]), | |
ProgBind aLt2_1 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5]) | |
(Right Use AccArray [5] [-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind tmp_2_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5]) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 5)]) | |
(Lam1 (indBP_1003, TTuple [TInt,TInt]) | |
(EIndexScalar aLt2_0 | |
(ETupProject | |
{indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_1003})))), | |
ProgBind tmp_2_4 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5]) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 5)]) | |
(Lam1 (indBP_1004, TTuple [TInt,TInt]) | |
(EIndexScalar aLt2_1 | |
(ETupProject | |
{indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_1004})))), | |
ProgBind tmp_2 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10]) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix5, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EConst (I 5)]) | |
(ELet (indBP_100315, | |
TTuple [TInt,TInt], | |
ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}]) | |
(EIndexScalar aLt2_0 | |
(ETupProject | |
{indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_100315}))) | |
(ELet (indBP_100416, | |
TTuple [TInt,TInt], | |
ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EConst (I 5)]]) | |
(EIndexScalar aLt2_1 | |
(ETupProject | |
{indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_100416})))))), | |
ProgBind tmp_3_6 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,10]) | |
(Right Generate (ETuple [EConst (I 5),EConst (I 10)]) | |
(Lam1 (indBP_1006, TTuple [TInt,TInt]) | |
(EIndexScalar aLt2_0 | |
(ETupProject | |
{indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_1006})))), | |
ProgBind tmp_3_7 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,10]) | |
(Right Generate (ETuple [EConst (I 5),EConst (I 10)]) | |
(Lam1 (indBP_1007, TTuple [TInt,TInt]) | |
(EIndexScalar aLt2_1 | |
(ETupProject | |
{indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_1007})))), | |
ProgBind tmp_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10]) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix8, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EConst (I 5)]) | |
(ELet (indBP_100617, | |
TTuple [TInt,TInt], | |
ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}]) | |
(EIndexScalar aLt2_0 | |
(ETupProject | |
{indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_100617}))) | |
(ELet (indBP_100718, | |
TTuple [TInt,TInt], | |
ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EConst (I 5)]]) | |
(EIndexScalar aLt2_1 | |
(ETupProject | |
{indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_100718})))))), | |
ProgBind tmp_1_9 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,5]) | |
(Right Generate (ETuple [EConst (I 5),EConst (I 5)]) | |
(Lam1 (indG_2009, TTuple [TInt,TInt]) | |
(ELet (v3, | |
TTuple [TDouble,TDouble,TDouble], | |
ELet (indBP_100319, | |
TTuple [TInt,TInt], | |
EVr indG_2009) | |
(EIndexScalar aLt2_0 | |
(ETupProject | |
{indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_100319}))) | |
(ELet (v4, | |
TTuple [TDouble,TDouble,TDouble], | |
ELet (indBP_100620, | |
TTuple [TInt,TInt], | |
EVr indG_2009) | |
(EIndexScalar aLt2_0 | |
(ETupProject | |
{indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_100620}))) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)])))))))))))), | |
ProgBind tmp_1_10 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,5]) | |
(Right Generate (ETuple [EConst (I 5),EConst (I 5)]) | |
(Lam1 (indG_2010, TTuple [TInt,TInt]) | |
(ELet (v3, | |
TTuple [TDouble,TDouble,TDouble], | |
ELet (indBP_100421, | |
TTuple [TInt,TInt], | |
EVr indG_2010) | |
(EIndexScalar aLt2_1 | |
(ETupProject | |
{indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_100421}))) | |
(ELet (v4, | |
TTuple [TDouble,TDouble,TDouble], | |
ELet (indBP_100722, | |
TTuple [TInt,TInt], | |
EVr indG_2010) | |
(EIndexScalar aLt2_1 | |
(ETupProject | |
{indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_100722}))) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)])))))))))))), | |
ProgBind tmp_1 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10]) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix11, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_1_9 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}])) | |
(EIndexScalar tmp_1_10 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_0_12 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5]) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_9), | |
ProgBind tmp_0_13 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5]) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_10), | |
ProgBind tmp_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10]) | |
(Right Generate (EConst (I 10)) | |
(Lam1 (ix14, TInt) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[EVr ix14,EConst (I 5)]) | |
(EIndexScalar tmp_0_12 (EVr ix14)) | |
(EIndexScalar tmp_0_13 | |
(EPrimApp TInt | |
(NP Sub) | |
[EVr ix14, | |
EConst (I 5)]))))), | |
ProgBind tmp_0_shape TInt (KnownSize [10]) (Left EConst (I 10))], | |
progResults = WithShapes [(tmp_0, tmp_0_shape)], | |
progType = TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
uniqueCounter = 23, | |
typeEnv = [(aLt2, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_1, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_12, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_13, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_shape, TInt), | |
(tmp_1, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_10, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_9, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_4, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_6, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_7, TArray 2 (TTuple [TDouble,TDouble,TDouble]))]} | |
[dbg] engaging optional typecheck pass, AST size 317, num binds 16 | |
trackUses, output was: | |
================================================================================ | |
Prog {progBinds = [ProgBind aLt2 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10], Uses {scalarUses = 0, arrayUses = 0}) | |
(Right Use AccArray [10] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242,-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246,-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2,-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind aLt2_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Uses {scalarUses = 6, arrayUses = 0}) | |
(Right Use AccArray [5] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2]), | |
ProgBind aLt2_1 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Uses {scalarUses = 6, arrayUses = 0}) | |
(Right Use AccArray [5] [-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind tmp_2_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5], Uses {scalarUses = 0, arrayUses = 0}) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 5)]) | |
(Lam1 (indBP_1003, TTuple [TInt,TInt]) | |
(EIndexScalar aLt2_0 | |
(ETupProject | |
{indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_1003})))), | |
ProgBind tmp_2_4 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,5], Uses {scalarUses = 0, arrayUses = 0}) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 5)]) | |
(Lam1 (indBP_1004, TTuple [TInt,TInt]) | |
(EIndexScalar aLt2_1 | |
(ETupProject | |
{indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_1004})))), | |
ProgBind tmp_2 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Uses {scalarUses = 0, arrayUses = 0}) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix5, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EConst (I 5)]) | |
(ELet (indBP_100315, | |
TTuple [TInt,TInt], | |
ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}]) | |
(EIndexScalar aLt2_0 | |
(ETupProject | |
{indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_100315}))) | |
(ELet (indBP_100416, | |
TTuple [TInt,TInt], | |
ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix5}, | |
EConst (I 5)]]) | |
(EIndexScalar aLt2_1 | |
(ETupProject | |
{indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_100416})))))), | |
ProgBind tmp_3_6 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,10], Uses {scalarUses = 0, arrayUses = 0}) | |
(Right Generate (ETuple [EConst (I 5),EConst (I 10)]) | |
(Lam1 (indBP_1006, TTuple [TInt,TInt]) | |
(EIndexScalar aLt2_0 | |
(ETupProject | |
{indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_1006})))), | |
ProgBind tmp_3_7 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,10], Uses {scalarUses = 0, arrayUses = 0}) | |
(Right Generate (ETuple [EConst (I 5),EConst (I 10)]) | |
(Lam1 (indBP_1007, TTuple [TInt,TInt]) | |
(EIndexScalar aLt2_1 | |
(ETupProject | |
{indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_1007})))), | |
ProgBind tmp_3 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Uses {scalarUses = 0, arrayUses = 0}) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix8, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EConst (I 5)]) | |
(ELet (indBP_100617, | |
TTuple [TInt,TInt], | |
ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}]) | |
(EIndexScalar aLt2_0 | |
(ETupProject | |
{indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_100617}))) | |
(ELet (indBP_100718, | |
TTuple [TInt,TInt], | |
ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix8}, | |
EConst (I 5)]]) | |
(EIndexScalar aLt2_1 | |
(ETupProject | |
{indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_100718})))))), | |
ProgBind tmp_1_9 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,5], Uses {scalarUses = 1, arrayUses = 1}) | |
(Right Generate (ETuple [EConst (I 5),EConst (I 5)]) | |
(Lam1 (indG_2009, TTuple [TInt,TInt]) | |
(ELet (v3, | |
TTuple [TDouble,TDouble,TDouble], | |
ELet (indBP_100319, | |
TTuple [TInt,TInt], | |
EVr indG_2009) | |
(EIndexScalar aLt2_0 | |
(ETupProject | |
{indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_100319}))) | |
(ELet (v4, | |
TTuple [TDouble,TDouble,TDouble], | |
ELet (indBP_100620, | |
TTuple [TInt,TInt], | |
EVr indG_2009) | |
(EIndexScalar aLt2_0 | |
(ETupProject | |
{indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_100620}))) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)])))))))))))), | |
ProgBind tmp_1_10 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,5], Uses {scalarUses = 1, arrayUses = 1}) | |
(Right Generate (ETuple [EConst (I 5),EConst (I 5)]) | |
(Lam1 (indG_2010, TTuple [TInt,TInt]) | |
(ELet (v3, | |
TTuple [TDouble,TDouble,TDouble], | |
ELet (indBP_100421, | |
TTuple [TInt,TInt], | |
EVr indG_2010) | |
(EIndexScalar aLt2_1 | |
(ETupProject | |
{indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_100421}))) | |
(ELet (v4, | |
TTuple [TDouble,TDouble,TDouble], | |
ELet (indBP_100722, | |
TTuple [TInt,TInt], | |
EVr indG_2010) | |
(EIndexScalar aLt2_1 | |
(ETupProject | |
{indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_100722}))) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)])))))))))))), | |
ProgBind tmp_1 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10,10], Uses {scalarUses = 0, arrayUses = 0}) | |
(Right Generate (ETuple [EConst (I 10),EConst (I 10)]) | |
(Lam1 (ix11, TTuple [TInt,TInt]) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EConst (I 5)]) | |
(EIndexScalar tmp_1_9 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}])) | |
(EIndexScalar tmp_1_10 | |
(ETuple [ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EPrimApp TInt | |
(NP Sub) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr ix11}, | |
EConst (I 5)]]))))), | |
ProgBind tmp_0_12 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Uses {scalarUses = 1, arrayUses = 0}) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_9), | |
ProgBind tmp_0_13 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5], Uses {scalarUses = 1, arrayUses = 0}) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_10), | |
ProgBind tmp_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10], Uses {scalarUses = 0, arrayUses = 1}) | |
(Right Generate (EConst (I 10)) | |
(Lam1 (ix14, TInt) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[EVr ix14,EConst (I 5)]) | |
(EIndexScalar tmp_0_12 (EVr ix14)) | |
(EIndexScalar tmp_0_13 | |
(EPrimApp TInt | |
(NP Sub) | |
[EVr ix14, | |
EConst (I 5)]))))), | |
ProgBind tmp_0_shape | |
TInt | |
(KnownSize [10], Uses {scalarUses = 0, arrayUses = 0}) | |
(Left EConst (I 10))], | |
progResults = WithShapes [(tmp_0, tmp_0_shape)], | |
progType = TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
uniqueCounter = 23, | |
typeEnv = [(aLt2, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_1, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_12, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_13, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_shape, TInt), | |
(tmp_1, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_10, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_9, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_4, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_6, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_7, TArray 2 (TTuple [TDouble,TDouble,TDouble]))]} | |
[dbg] engaging optional typecheck pass, AST size 317, num binds 16 | |
deadCode, output was: | |
================================================================================ | |
!! Victory: deadArrays, start an unraveling by eliminating: aLt2 | |
!! Victory: deadArrays, start an unraveling by eliminating: tmp_2_3 | |
!! Victory: deadArrays, start an unraveling by eliminating: tmp_2_4 | |
!! Victory: deadArrays, start an unraveling by eliminating: tmp_2 | |
!! Victory: deadArrays, start an unraveling by eliminating: tmp_3_6 | |
!! Victory: deadArrays, start an unraveling by eliminating: tmp_3_7 | |
!! Victory: deadArrays, start an unraveling by eliminating: tmp_3 | |
!! Victory: deadArrays, start an unraveling by eliminating: tmp_1 | |
.. deadArrays refusing to eliminate size/shape var: tmp_0_shape | |
Prog {progBinds = [ProgBind aLt2_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5]) | |
(Right Use AccArray [5] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2]), | |
ProgBind aLt2_1 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5]) | |
(Right Use AccArray [5] [-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind tmp_1_9 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,5]) | |
(Right Generate (ETuple [EConst (I 5),EConst (I 5)]) | |
(Lam1 (indG_2009, TTuple [TInt,TInt]) | |
(ELet (v3, | |
TTuple [TDouble,TDouble,TDouble], | |
ELet (indBP_100319, | |
TTuple [TInt,TInt], | |
EVr indG_2009) | |
(EIndexScalar aLt2_0 | |
(ETupProject | |
{indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_100319}))) | |
(ELet (v4, | |
TTuple [TDouble,TDouble,TDouble], | |
ELet (indBP_100620, | |
TTuple [TInt,TInt], | |
EVr indG_2009) | |
(EIndexScalar aLt2_0 | |
(ETupProject | |
{indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_100620}))) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)])))))))))))), | |
ProgBind tmp_1_10 | |
(TArray 2 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5,5]) | |
(Right Generate (ETuple [EConst (I 5),EConst (I 5)]) | |
(Lam1 (indG_2010, TTuple [TInt,TInt]) | |
(ELet (v3, | |
TTuple [TDouble,TDouble,TDouble], | |
ELet (indBP_100421, | |
TTuple [TInt,TInt], | |
EVr indG_2010) | |
(EIndexScalar aLt2_1 | |
(ETupProject | |
{indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_100421}))) | |
(ELet (v4, | |
TTuple [TDouble,TDouble,TDouble], | |
ELet (indBP_100722, | |
TTuple [TInt,TInt], | |
EVr indG_2010) | |
(EIndexScalar aLt2_1 | |
(ETupProject | |
{indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_100722}))) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)])))))))))))), | |
ProgBind tmp_0_12 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5]) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_9), | |
ProgBind tmp_0_13 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [5]) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_10), | |
ProgBind tmp_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(KnownSize [10]) | |
(Right Generate (EConst (I 10)) | |
(Lam1 (ix14, TInt) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[EVr ix14,EConst (I 5)]) | |
(EIndexScalar tmp_0_12 (EVr ix14)) | |
(EIndexScalar tmp_0_13 | |
(EPrimApp TInt | |
(NP Sub) | |
[EVr ix14, | |
EConst (I 5)]))))), | |
ProgBind tmp_0_shape TInt (KnownSize [10]) (Left EConst (I 10))], | |
progResults = WithShapes [(tmp_0, tmp_0_shape)], | |
progType = TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
uniqueCounter = 23, | |
typeEnv = [(aLt2, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_1, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_12, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_13, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_shape, TInt), | |
(tmp_1, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_10, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_9, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_2_4, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_6, TArray 2 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_3_7, TArray 2 (TTuple [TDouble,TDouble,TDouble]))]} | |
[dbg] engaging optional typecheck pass, AST size 237, num binds 8 | |
oneDimensionalize, output was: | |
================================================================================ | |
Prog {progBinds = [ProgBind aLt2_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(Nothing, KnownSize [5]) | |
(Right Use AccArray [5] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2]), | |
ProgBind aLt2_1 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(Nothing, KnownSize [5]) | |
(Right Use AccArray [5] [-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind tmp_1_9 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(Nothing, KnownSize [25]) | |
(Right Generate (EConst (I 25)) | |
(Lam1 (flatidx23, TInt) | |
(ELet (gensym_31, | |
TTuple [TInt,TInt], | |
ELet (gensym_28, | |
TInt, | |
EPrimApp TInt | |
(IP Quot) | |
[EVr flatidx23, | |
EConst (I 5)]) | |
(ELet (gensym_29, | |
TInt, | |
EPrimApp TInt | |
(IP Rem) | |
[EVr flatidx23, | |
EConst (I 5)]) | |
(ELet (gensym_30, | |
TInt, | |
EConst (I 0)) | |
(ETuple [EVr gensym_29, | |
EVr gensym_28])))) | |
(ELet (v3, | |
TTuple [TDouble,TDouble,TDouble], | |
ELet (indBP_100319, | |
TTuple [TInt,TInt], | |
EVr gensym_31) | |
(ELet (gensym_33, | |
TInt, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_100319}) | |
(EIndexScalar aLt2_0 | |
(EVr gensym_33)))) | |
(ELet (v4, | |
TTuple [TDouble,TDouble, | |
TDouble], | |
ELet (indBP_100620, | |
TTuple [TInt,TInt], | |
EVr gensym_31) | |
(ELet (gensym_35, | |
TInt, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_100620}) | |
(EIndexScalar aLt2_0 | |
(EVr gensym_35)))) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))))))), | |
ProgBind tmp_1_10 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(Nothing, KnownSize [25]) | |
(Right Generate (EConst (I 25)) | |
(Lam1 (flatidx36, TInt) | |
(ELet (gensym_44, | |
TTuple [TInt,TInt], | |
ELet (gensym_41, | |
TInt, | |
EPrimApp TInt | |
(IP Quot) | |
[EVr flatidx36, | |
EConst (I 5)]) | |
(ELet (gensym_42, | |
TInt, | |
EPrimApp TInt | |
(IP Rem) | |
[EVr flatidx36, | |
EConst (I 5)]) | |
(ELet (gensym_43, | |
TInt, | |
EConst (I 0)) | |
(ETuple [EVr gensym_42, | |
EVr gensym_41])))) | |
(ELet (v3, | |
TTuple [TDouble,TDouble,TDouble], | |
ELet (indBP_100421, | |
TTuple [TInt,TInt], | |
EVr gensym_44) | |
(ELet (gensym_46, | |
TInt, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_100421}) | |
(EIndexScalar aLt2_1 | |
(EVr gensym_46)))) | |
(ELet (v4, | |
TTuple [TDouble,TDouble, | |
TDouble], | |
ELet (indBP_100722, | |
TTuple [TInt,TInt], | |
EVr gensym_44) | |
(ELet (gensym_48, | |
TInt, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_100722}) | |
(EIndexScalar aLt2_1 | |
(EVr gensym_48)))) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)]))))))))))))), | |
ProgBind tmp_0_12 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(Just StrideConst (EConst (I 5)), KnownSize [5]) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_9), | |
ProgBind tmp_0_13 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(Just StrideConst (EConst (I 5)), KnownSize [5]) | |
(Right Fold (Lam2 (v0, TTuple [TDouble,TDouble,TDouble]) | |
(v1, TTuple [TDouble,TDouble,TDouble]) | |
(ETuple [EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v1}], | |
EPrimApp TDouble | |
(NP Add) | |
[ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v0}, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v1}]])) | |
(EConst (Tup [D 0.0,D 0.0,D 0.0])) | |
tmp_1_10), | |
ProgBind tmp_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(Nothing, KnownSize [10]) | |
(Right Generate (EConst (I 10)) | |
(Lam1 (flatidx49, TInt) | |
(ELet (gensym_53, | |
TInt, | |
ELet (gensym_52, TInt, EConst (I 0)) | |
(ETuple [EVr flatidx49])) | |
(ECond (EPrimApp TBool | |
(SP Lt) | |
[EVr gensym_53, | |
EConst (I 5)]) | |
(EIndexScalar tmp_0_12 | |
(EVr gensym_53)) | |
(ELet (gensym_56, | |
TInt, | |
EPrimApp TInt | |
(NP Sub) | |
[EVr gensym_53, | |
EConst (I 5)]) | |
(EIndexScalar tmp_0_13 | |
(EVr gensym_56))))))), | |
ProgBind tmp_0_shape | |
TInt | |
(Nothing, KnownSize [10]) | |
(Left EConst (I 10))], | |
progResults = WithShapes [(tmp_0, tmp_0_shape)], | |
progType = TArray 1 (TTuple [TDouble,TDouble,TDouble]), | |
uniqueCounter = 57, | |
typeEnv = [(aLt2_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(aLt2_1, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_12, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_13, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_0_shape, TInt), | |
(tmp_1_10, TArray 1 (TTuple [TDouble,TDouble,TDouble])), | |
(tmp_1_9, TArray 1 (TTuple [TDouble,TDouble,TDouble]))]} | |
[dbg] engaging optional typecheck pass, AST size 274, num binds 8 | |
normalizeExps, output was: | |
================================================================================ | |
Prog {progBinds = [ProgBind aLt2_0 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(Nothing, KnownSize [5]) | |
(Right Use AccArray [5] [0.204377359711,-0.124071846716,9.23475595191e-2,0.855260848999,-0.355440662242] [0.58752346877,-0.430925352499,0.471875966527,0.17408952117,0.29258855246] [0.466465813108,0.818155869842,-0.390485706739,-5.50553835928e-2,5.77864721417e-2]), | |
ProgBind aLt2_1 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(Nothing, KnownSize [5]) | |
(Right Use AccArray [5] [-0.699805021286,-0.225843770429,4.79635689408e-2,-0.108046301641,0.881816339679] [-0.290639472194,-0.214849968441,0.789017047733,-0.568562230095,-0.122657088563] [-0.194938545115,-0.948073166423,0.361016079783,-0.264976296574,-0.182035161182]), | |
ProgBind tmp_1_9 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(Nothing, KnownSize [25]) | |
(Right Generate (EConst (I 25)) | |
(Lam1 (flatidx23, TInt) | |
(ELet (gensym_28, | |
TInt, | |
EPrimApp TInt | |
(IP Quot) | |
[EVr flatidx23,EConst (I 5)]) | |
(ELet (gensym_29, | |
TInt, | |
EPrimApp TInt | |
(IP Rem) | |
[EVr flatidx23, | |
EConst (I 5)]) | |
(ELet (gensym_30, TInt, EConst (I 0)) | |
(ELet (gensym_31, | |
TTuple [TInt,TInt], | |
ETuple [EVr gensym_29, | |
EVr gensym_28]) | |
(ELet (indBP_100319, | |
TTuple [TInt,TInt], | |
EVr gensym_31) | |
(ELet (gensym_33, | |
TInt, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr indBP_100319}) | |
(ELet (v3, | |
TTuple [TDouble, | |
TDouble, | |
TDouble], | |
EIndexScalar aLt2_0 | |
(EVr gensym_33)) | |
(ELet (indBP_100620, | |
TTuple [TInt, | |
TInt], | |
EVr gensym_31) | |
(ELet (gensym_35, | |
TInt, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr indBP_100620}) | |
(ELet (v4, | |
TTuple [TDouble, | |
TDouble, | |
TDouble], | |
EIndexScalar aLt2_0 | |
(EVr gensym_35)) | |
(ELet (e5, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e6, | |
TDouble, | |
ETupProject {indexFromRight = 1, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e7, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ELet (e8, | |
TDouble, | |
ETupProject {indexFromRight = 0, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e9, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v3}) | |
(ELet (e10, | |
TDouble, | |
ETupProject {indexFromRight = 2, | |
projlen = 1, | |
tupexpr = EVr v4}) | |
(ECond (EPrimApp TBool | |
(BP Not) | |
[EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e9, | |
EVr e10], | |
EPrimApp TBool | |
(BP And) | |
[EPrimApp TBool | |
(SP Eq) | |
[EVr e6, | |
EVr e5], | |
EPrimApp TBool | |
(SP Eq) | |
[EVr e8, | |
EVr e7]]]]) | |
(ELet (e11, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e7, | |
EVr e8]) | |
(ELet (e12, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e10, | |
EVr e9]) | |
(ELet (e13, | |
TDouble, | |
EPrimApp TDouble | |
(NP Sub) | |
[EVr e5, | |
EVr e6]) | |
(ELet (e14, | |
TDouble, | |
EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Add) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e12, | |
EVr e12], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e13, | |
EVr e13]], | |
EPrimApp TDouble | |
(NP Mul) | |
[EVr e11, | |
EVr e11]]) | |
(ELet (e15, | |
TDouble, | |
EPrimApp TDouble | |
(FP Sqrt) | |
[EVr e14]) | |
(ELet (e16, | |
TDouble, | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EConst (D 1.0), | |
EConst (D 1.0)], | |
EVr e14]) | |
(ETuple [EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e12], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e13], | |
EVr e15], | |
EPrimApp TDouble | |
(FP FDiv) | |
[EPrimApp TDouble | |
(NP Mul) | |
[EVr e16, | |
EVr e11], | |
EVr e15]]))))))) | |
(ETuple [EConst (D 0.0), | |
EConst (D 0.0), | |
EConst (D 0.0)])))))))))))))))))))), | |
ProgBind tmp_1_10 | |
(TArray 1 (TTuple [TDouble,TDouble,TDouble])) | |
(Nothing, KnownSize [25]) | |
(Right Generate (EConst (I 25)) | |
(Lam1 (flatidx36, TInt) | |
(ELet (gensym_41, | |
TInt, | |
EPrimApp TInt | |
(IP Quot) | |
[EVr flatidx36,EConst (I 5)]) | |
(ELet (gensym_42, | |
TInt, | |
EPrimApp TInt | |
(IP Rem) | |
[EVr flatidx36, | |
EConst (I 5)]) | |
(ELet (gensym_43, TInt, EConst (I 0)) | |
(ELet (gensym_44, | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment