diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test
index b6e76f7af86b6eecee2314cb956428b2ab276cb3..13ad6bd94dcb8887a16e6fcb19dd95cc6d778f20 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test
@@ -1067,11 +1067,11 @@ Error in `Encoding<-`(`*tmp*`, value = "UTF-8") :
 #argv <- structure(list(x = 'abc', value = 'UTF-8'), .Names = c('x',     'value'));do.call('Encoding<-', argv)
 [1] "abc"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_ISOdatetime.testISOdatetime1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_ISOdatetime.testISOdatetime1#Ignored.ImplementationError#
 #argv <- structure(list(year = 1970, month = 1, day = 1, hour = 0,     min = 0, sec = 0, tz = 'GMT'), .Names = c('year', 'month',     'day', 'hour', 'min', 'sec', 'tz'));do.call('ISOdatetime', argv)
 [1] "1970-01-01 GMT"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_ISOdatetime.testISOdatetime2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_ISOdatetime.testISOdatetime2#Ignored.ImplementationError#
 #argv <- structure(list(year = 2002, month = 6, day = 24, hour = 0,     min = 0, sec = 10), .Names = c('year', 'month', 'day', 'hour',     'min', 'sec'));do.call('ISOdatetime', argv)
 [1] "2002-06-24 00:00:10 GMT"
 
@@ -1179,7 +1179,7 @@ attr(,"my")
  [7]  0.3826834  0.0000000 -0.3826834 -0.7071068 -0.9238795 -1.0000000
 [13] -0.9238795 -0.7071068 -0.3826834  0.0000000
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_La.testLa1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_La.testLa1#Ignored.ImplementationError#
 #argv <- list(structure(c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0), .Dim = c(18L, 7L), .Dimnames = list(c('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18'), c('(Intercept)', 'Rail2', 'Rail5', 'Rail1', 'Rail6', 'Rail3', 'Rail4')))); .Internal(La_qr(argv[[1]]))
 $qr
    (Intercept)       Rail2       Rail5       Rail6       Rail3       Rail4
@@ -1268,7 +1268,7 @@ $vectors
 NULL
 
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_La.testLa4#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_La.testLa4#Ignored.Unimplemented#
 #argv <- list('S', structure(c(1, 0, 0, 0, 0, 1.4142135623731, 0, 0, 0, 0, 1.73205080756888, 0, 0, 0, 0, 2), .Dim = c(4L, 4L), Dimnames = list(character(0), character(0))), c(2, 1.73205080756888, 1.4142135623731, 1), structure(c(0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0), .Dim = c(4L, 4L)), structure(c(0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0), .Dim = c(4L, 4L))); .Internal(La_svd(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]]))
 $d
 [1] 2.000000 1.732051 1.414214 1.000000
@@ -1300,7 +1300,7 @@ $vectors
 [3,] -0.4814328  7.071068e-01 0.5179020
 
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_La.testLa6#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_La.testLa6#Ignored.Unimplemented#
 #argv <- list('S', structure(c(FALSE, TRUE, FALSE, TRUE, TRUE, FALSE, TRUE, TRUE, TRUE, FALSE, TRUE, FALSE, TRUE, TRUE, FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE), .Dim = c(5L, 5L)), c(3.37916576339493, 1.53572230863579, 1.41421356237309, 0.472012430194285, 3.04287016253022e-18), structure(c(-0.38209344041777, -0.441911867608196, -0.441911867608196, -0.563415484445979, -0.38209344041777, -0.594200765232569, 0.307687929858406, 0.307687929858405, 0.32327569786942, -0.594200765232566, 0.499999999999999, -0.5, 0.500000000000001, 7.42461647718073e-16, -0.500000000000001, 0.0304967766615352, 0.45830343560406, 0.458303435604061, -0.760299819185526, 0.0304967766615352, -0.5, -0.5, 0.5, -1.11022302462516e-16, 0.5), .Dim = c(5L, 5L)), structure(c(-0.41058086214689, 0.0239384830763564, -0.707106781186547, -0.575195883735897, 0, -0.428282990831553, 0.611211774620929, 9.15933995315754e-16, 0.331150287627506, 0.577350269189626, -0.41058086214689, 0.0239384830763538, 0.707106781186548, -0.575195883735897, 5.55111512312578e-17, -0.226146609649533, -0.773838814336698, -1.55431223447522e-15, 0.129220226886747, 0.577350269189625, -0.654429600481086, -0.162627039715767, -5.27355936696949e-16, 0.460370514514253, -0.577350269189626), .Dim = c(5L, 5L))); .Internal(La_svd(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]]))
 $d
 [1] 3.379166e+00 1.535722e+00 1.414214e+00 4.720124e-01 3.042870e-18
@@ -1322,11 +1322,11 @@ $vt
 [5,]  0.00000000  5.773503e-01  5.551115e-17  5.773503e-01 -5.773503e-01
 
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_La.testLa7#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_La.testLa7#Ignored.Unimplemented#
 #argv <- list(structure(c(1, 1, 3, 3), .Dim = c(2L, 2L)), 'O'); .Internal(La_dgecon(argv[[1]], argv[[2]]))
 [1] 0
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_La.testLa8#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_La.testLa8#Ignored.Unimplemented#
 #argv <- list('N', structure(c(-4, 0, 0, 0, 0, 0, 0, -406.725, 41.7955066364795, 0, 0, 0, 0, 0, -1550.79375, 381.717151319926, 49.8228991342168, 0, 0, 0, 0, -1277.325, 224.617432123818, -31.1858918860748, -282.060212912726, 0, 0, 0, -1042.675, 125.261805546114, -29.9849484767744, 164.425554254677, -170.353263600129, 0, 0, -469.696, 26.3795103523805, 4.19691803785862, -3.18974110831568, 0.0462484557378925, 1.46320172717486, 0, -7818, 18.2758880432689, 1.77525956575195, -1.45298766739792, -0.449176219307484, -0.281900648530911, -0.669305080560524), .Dim = c(7L, 7L), .Dimnames = list(c('1947', '1948', '1949', '1950', '1951', '1952', '1953'), c('(Intercept)', 'GNP.deflator', 'GNP', 'Unemployed', 'Armed.Forces', 'Population', 'Year'))), c(8164.12940108939, 457.24498274114, 324.584423503013, 134.312174464868, 4.95553195929945, 1.41954832076337, 0.000342370904183799), structure(0, .Dim = c(1L, 1L)), structure(0, .Dim = c(1L, 1L))); .Internal(La_svd(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]]))
 $d
 [1] 8.164129e+03 4.572450e+02 3.245844e+02 1.343122e+02 4.955532e+00
@@ -2335,7 +2335,7 @@ Error in acos() : 0 arguments passed to 'acos' which requires 1
 #argv <- list(c(0.3+3i,-3+2i));acos(argv[[1]]);
 [1] 1.476169-1.822701i 2.535455-1.968638i
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_acosh.testacosh1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_acosh.testacosh1#Output.MissingWarning#
 #argv <- list(FALSE);acosh(argv[[1]]);
 [1] NaN
 Warning message:
@@ -2466,15 +2466,15 @@ Error: invalid 'pattern' argument
 #argv <- list('x86_64-linux-gnu', 'x86_64-linux-gnu', FALSE, FALSE, c(1L, 1L, 1L), c(0.1, NA, NA, NA, NA), FALSE, TRUE); .Internal(agrep(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]], argv[[8]]))
 [1] 1
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_agrep.testagrep3#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_agrep.testagrep3#Ignored.ImplementationError#
 #argv <- list('lasy', c(' 1 lazy 2', '1 lasy 2'), FALSE, FALSE, c(1L, 1L, 1L), structure(c(NA, 0.1, 0.1, 0, 0.1), .Names = c('cost', 'insertions', 'deletions', 'substitutions', 'all')), FALSE, TRUE); .Internal(agrep(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]], argv[[8]]))
 [1] 2
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_agrep.testagrep4#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_agrep.testagrep4#Ignored.Unimplemented#
 #argv <- list('laysy', c('1 lazy', '1', '1 LAZY'), FALSE, TRUE, c(1L, 1L, 1L), c(2, NA, NA, NA, NA), FALSE, TRUE); .Internal(agrep(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]], argv[[8]]))
 [1] "1 lazy"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_agrep.testagrep5#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_agrep.testagrep5#Ignored.Unimplemented#
 #argv <- list('laysy', c('1 lazy', '1', '1 LAZY'), TRUE, FALSE, c(1L, 1L, 1L), c(2, NA, NA, NA, NA), FALSE, TRUE); .Internal(agrep(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]], argv[[8]]))
 [1] 1 3
 
@@ -3085,7 +3085,7 @@ In anyDuplicated.default(c(1L, 2L, 1L, 1L, 3L, 2L), incomparables = "cat") :
 #argv <- list(c('1', '4', '6', '9', '11', NA, '15', '16', '17', '20', '21', '23', '29', '41', '45', '48', '55', '62', '63', '65', '70', '74', '82', '83', '85', '86', '92', '93', '97', '98', '99', '103', '104', '106', '108', '109', '112', '113', '120', '126', '127', '128', '132', '139', '142', '145', '148', '151', '159', '164', '165', '169', '171', '173', '175', '189', '191', '193', '194', '195', '198', '200', '202', '209', '212', '213', '215', '216', '221', '223', '224', '227'), FALSE, FALSE); .Internal(anyDuplicated(argv[[1]], argv[[2]], argv[[3]]))
 [1] 0
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_anyDuplicated.testanyDuplicated18#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_anyDuplicated.testanyDuplicated18#Ignored.ImplementationError#
 #argv <- structure(list(x = structure(c(3, 2, 7, 2, 6, 2, 7, 2),     .Dim = c(4L, 2L), .Dimnames = list(c('A', 'B', 'C', 'D'),         c('M', 'F'))), MARGIN = 0), .Names = c('x', 'MARGIN'));do.call('anyDuplicated', argv)
 [1] 4
 
@@ -3129,7 +3129,7 @@ In anyDuplicated.default(c(1L, 2L, 1L, 1L, 3L, 2L), incomparables = "cat") :
 #argv <- structure(list(x = c(1, NA, 3, NA, 3), incomparables = c(3,     NA)), .Names = c('x', 'incomparables'));do.call('anyDuplicated.default', argv)
 [1] 0
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_anyDuplicatedmatrix.testanyDuplicatedmatrix1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_anyDuplicatedmatrix.testanyDuplicatedmatrix1#Ignored.ImplementationError#
 #argv <- structure(list(x = structure(c(3, 2, 7, 2, 6, 2, 7, 2),     .Dim = c(4L, 2L), .Dimnames = list(c('A', 'B', 'C', 'D'),         c('M', 'F'))), MARGIN = 0), .Names = c('x', 'MARGIN'));do.call('anyDuplicated.matrix', argv)
 [1] 4
 
@@ -3296,7 +3296,7 @@ Error in aperm.default(c(1, 2, 3)) :
 Error in aperm.default(c(c(2, 3), c(4, 5), c(6, 7)), c(3, 4)) :
   invalid first argument, must be an array
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm1#Ignored.ImplementationError#
 #argv <- list(structure(c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE), .Dim = c(5L, 14L), .Dimnames = list(c('#ifdef', '\\Sexpr', 'build', 'install', 'render'), NULL)), c(2L, 1L), TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))
       #ifdef \\Sexpr build install render
  [1,]  FALSE   FALSE FALSE   FALSE  FALSE
@@ -3314,7 +3314,7 @@ Error in aperm.default(c(c(2, 3), c(4, 5), c(6, 7)), c(3, 4)) :
 [13,]  FALSE   FALSE FALSE   FALSE  FALSE
 [14,]  FALSE   FALSE FALSE   FALSE  FALSE
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm10#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm10#Ignored.ImplementationError#
 #argv <- list(structure(c(32, 53, 10, 3, 11, 50, 10, 30, 10, 25, 7, 5, 3, 15, 7, 8, 36, 66, 16, 4, 9, 34, 7, 64, 5, 29, 7, 5, 2, 14, 7, 8), .Dim = c(4L, 4L, 2L), .Dimnames = structure(list(Hair = c('Black', 'Brown', 'Red', 'Blond'), Eye = c('Brown', 'Blue', 'Hazel', 'Green'), Sex = c('Male', 'Female')), .Names = c('Hair', 'Eye', 'Sex')), class = 'table'), c(3L, 1L, 2L), TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))
 , , Eye = Brown
 
@@ -3359,7 +3359,7 @@ Sex      Black Brown Red Blond
 [2,]    0 -0.5   NA
 [3,]   -1   NA    0
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm13#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm13#Ignored.ImplementationError#
 #argv <- list(structure(c('    Null deviance:', 'Residual deviance:', '3.118557', '0.012672', ' on', ' on', '8', '7', ' degrees of freedom\n', ' degrees of freedom\n'), .Dim = c(2L, 5L), .Dimnames = list(c('null.deviance', 'deviance'), NULL)), c(2L, 1L), TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))
      null.deviance           deviance
 [1,] "    Null deviance:"    "Residual deviance:"
@@ -3385,7 +3385,7 @@ Sex      Black Brown Red Blond
 [3,]
 
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm15#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm15#Ignored.ImplementationError#
 #argv <- list(structure(c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE), .Dim = c(5L, 20L), .Dimnames = list(c('#ifdef', '\\Sexpr', 'build', 'install', 'render'), NULL)), c(2L, 1L), TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))
       #ifdef \\Sexpr build install render
  [1,]  FALSE   FALSE FALSE   FALSE  FALSE
@@ -3447,7 +3447,7 @@ Sex      Black Brown Red Blond
 #argv <- list(structure(c(NA, NA, NA), .Dim = 3L), 1L, TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))
 [1] NA NA NA
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm19#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm19#Ignored.ImplementationError#
 #argv <- list(structure(c(4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 4000, 8000, 12000, 16000, 20000, 24000, 28000, 32000, 36000, 40000, 44000, 48000, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 8000, 16000, 24000, 32000, 40000, 48000, 56000, 64000, 72000, 80000, 88000, 96000, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132, 144, 12000, 24000, 36000, 48000, 60000, 72000, 84000, 96000, 108000, 120000, 132000, 144000, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 16000, 32000, 48000, 64000, 80000, 96000, 112000, 128000, 144000, 160000, 176000, 192000, 20, 40, 60, 80, 100, 120, 140, 160, 180, 200, 220, 240, 20000, 40000, 60000, 80000, 1e+05, 120000, 140000, 160000, 180000, 2e+05, 220000, 240000, 24, 48, 72, 96, 120, 144, 168, 192, 216, 240, 264, 288, 24000, 48000, 72000, 96000, 120000, 144000, 168000, 192000, 216000, 240000, 264000, 288000, 28, 56, 84, 112, 140, 168, 196, 224, 252, 280, 308, 336, 28000, 56000, 84000, 112000, 140000, 168000, 196000, 224000, 252000, 280000, 308000, 336000, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 32000, 64000, 96000, 128000, 160000, 192000, 224000, 256000, 288000, 320000, 352000, 384000, 36, 72, 108, 144, 180, 216, 252, 288, 324, 360, 396, 432, 36000, 72000, 108000, 144000, 180000, 216000, 252000, 288000, 324000, 360000, 396000, 432000, 40, 80, 120, 160, 200, 240, 280, 320, 360, 400, 440, 480, 40000, 80000, 120000, 160000, 2e+05, 240000, 280000, 320000, 360000, 4e+05, 440000, 480000, 44, 88, 132, 176, 220, 264, 308, 352, 396, 440, 484, 528, 44000, 88000, 132000, 176000, 220000, 264000, 308000, 352000, 396000, 440000, 484000, 528000, 48, 96, 144, 192, 240, 288, 336, 384, 432, 480, 528, 576, 48000, 96000, 144000, 192000, 240000, 288000, 336000, 384000, 432000, 480000, 528000, 576000, 52, 104, 156, 208, 260, 312, 364, 416, 468, 520, 572, 624, 52000, 104000, 156000, 208000, 260000, 312000, 364000, 416000, 468000, 520000, 572000, 624000, 56, 112, 168, 224, 280, 336, 392, 448, 504, 560, 616, 672, 56000, 112000, 168000, 224000, 280000, 336000, 392000, 448000, 504000, 560000, 616000, 672000, 60, 120, 180, 240, 300, 360, 420, 480, 540, 600, 660, 720, 60000, 120000, 180000, 240000, 3e+05, 360000, 420000, 480000, 540000, 6e+05, 660000, 720000, 64, 128, 192, 256, 320, 384, 448, 512, 576, 640, 704, 768, 64000, 128000, 192000, 256000, 320000, 384000, 448000, 512000, 576000, 640000, 704000, 768000, 68, 136, 204, 272, 340, 408, 476, 544, 612, 680, 748, 816, 68000, 136000, 204000, 272000, 340000, 408000, 476000, 544000, 612000, 680000, 748000, 816000, 72, 144, 216, 288, 360, 432, 504, 576, 648, 720, 792, 864, 72000, 144000, 216000, 288000, 360000, 432000, 504000, 576000, 648000, 720000, 792000, 864000, 76, 152, 228, 304, 380, 456, 532, 608, 684, 760, 836, 912, 76000, 152000, 228000, 304000, 380000, 456000, 532000, 608000, 684000, 760000, 836000, 912000, 80, 160, 240, 320, 400, 480, 560, 640, 720, 800, 880, 960, 80000, 160000, 240000, 320000, 4e+05, 480000, 560000, 640000, 720000, 8e+05, 880000, 960000, 84, 168, 252, 336, 420, 504, 588, 672, 756, 840, 924, 1008, 84000, 168000, 252000, 336000, 420000, 504000, 588000, 672000, 756000, 840000, 924000, 1008000, 88, 176, 264, 352, 440, 528, 616, 704, 792, 880, 968, 1056, 88000, 176000, 264000, 352000, 440000, 528000, 616000, 704000, 792000, 880000, 968000, 1056000, 92, 184, 276, 368, 460, 552, 644, 736, 828, 920, 1012, 1104, 92000, 184000, 276000, 368000, 460000, 552000, 644000, 736000, 828000, 920000, 1012000, 1104000, 96, 192, 288, 384, 480, 576, 672, 768, 864, 960, 1056, 1152, 96000, 192000, 288000, 384000, 480000, 576000, 672000, 768000, 864000, 960000, 1056000, 1152000), .Dim = c(3L, 4L, 2L, 3L, 4L, 2L), .Dimnames = list(c('A', 'B', 'C'), c('D', 'E', 'F', 'G'), c('frequentist', 'bayesian'), NULL, NULL, c('happy', 'sad'))), c(4L, 1L, 5L, 2L, 6L, 3L), TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))
 , , 1, D, happy, frequentist
 
@@ -3949,7 +3949,7 @@ Sex      Black Brown Red Blond
 [2,] "default" "default" "default"
 [3,] NA        NA        NA
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm20#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm20#Ignored.ImplementationError#
 #argv <- list(structure(1:24, .Dim = c(4L, 6L), .Dimnames = structure(list(happy = c('a', 'b', 'c', 'd'), sad = c('A', 'B', 'C', 'D', 'E', 'F')), .Names = c('happy', 'sad'))), c(2, 1), TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))
    happy
 sad  a  b  c  d
@@ -3960,7 +3960,7 @@ sad  a  b  c  d
   E 17 18 19 20
   F 21 22 23 24
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm21#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm21#Ignored.ImplementationError#
 #argv <- list(structure(1:120, .Dim = 2:5, .Dimnames = list(NULL, c('a', 'b', 'c'), NULL, c('V5', 'V6', 'V7', 'V8', 'V9'))), 1:4, TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))
 , , 1, V5
 
@@ -4083,7 +4083,7 @@ sad  a  b  c  d
 [2,] 116 118 120
 
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm22#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm22#Ignored.ImplementationError#
 #argv <- list(structure(c('    Null deviance:', 'Residual deviance:', '67.5316', ' 4.5512', ' on', ' on', '9', '7', ' degrees of freedom\n', ' degrees of freedom\n'), .Dim = c(2L, 5L), .Dimnames = list(c('null.deviance', 'deviance'), NULL)), c(2L, 1L), TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))
      null.deviance           deviance
 [1,] "    Null deviance:"    "Residual deviance:"
@@ -4097,13 +4097,13 @@ sad  a  b  c  d
       [,1]  [,2]  [,3]
 [1,] FALSE FALSE FALSE
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm24#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm24#Ignored.ImplementationError#
 #argv <- list(structure(c(3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 2, 1, 2, 3, 4, 5), .Dim = c(8L, 2L), .Dimnames = list(c('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'), c('x1', 'x2'))), c(2L, 1L), TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))
    a b c d e f g h
 x1 3 3 3 3 3 3 3 3
 x2 4 3 2 1 2 3 4 5
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm25#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm25#Ignored.ImplementationError#
 #argv <- list(structure(c(0, 1.23517986278748, 1.95771376416406, 2.47035972557496, 2.86799882564536, 3.19289362695154, 3.46758826742286, 3.70553958836244, 3.91542752832811, 4.10317868843284, 4.27302027203108, 4.42807348973901, 4.57070862330685, 4.70276813021034, 4.82571258980942, 4.94071945114991, 5.04875179140451, 5.15060739111559, 5.2469545231864, 5.33835855122032, 5.42530203158692, 5.50820013481856, 5.58741263619316, 5.66325335252649, 5.73599765129073, 5.80588848609433, 5.87314129249217, 5.93794799299782, 6.00048029898585, 6.0608924525969, 6.11932351888589, 6.17589931393739, 6.23073403619514, 6.28393165419199, 6.33558709306823, 6.38578725390307, 6.43461189335533, 6.48213438597388, 6.52842238747091, 6.5735384140078, 6.61754034994095, 6.6604818943744, 6.70241295516147, 6.74337999760604, 6.78342635397348, 6.82259249898064, 6.86091629565604, 6.89843321531397, 6.93517653484573, 6.97117751407821, 7.00646555556857, 7.04106834888181, 7.07501200112497, 7.10832115527965, 7.14101909767645, 7.1731278557853, 7.20466828735046, 7.23566016177333, 7.26612223453848, 7.29607231538438, 7.3255273308395, 7.35450338167337, 7.38301579575098, 7.41107917672487, 7.43870744895221, 7.46591389898262, 7.49271121392624, 7.51911151697947, 7.54512640035722, 7.57076695585571, 7.59604380324749, 7.62096711669055, 7.64554664931599, 7.66979175614282, 7.69371141545478, 7.71731424876136, 7.74060853945395, 7.76360225025839, 7.78630303957574, 7.80871827679528, 7.83085505665623, 7.85272021272842, 7.87432033007586, 7.89566175716188, 7.91675061704988, 7.93759281794895, 7.95819406314991, 7.97855986039352, 7.99869553070936, 8.01860621676096, 8.03829689072971, 8.05777236176812, 8.07703728304995, 8.09609615844352, 8.11495334883177, 8.13361307810145, 8.15207943882202, 8.17035639763321, 8.1884478003592, 8.20635737686569, 5.76558893216369, 5.5342688729893, 5.69366159038267, 6.17674775070929, 6.08762735966107, 6.68653280779044, 6.70253591217234, 6.32938323618963, 6.81735284786279, 6.64835766778347, 6.91213030655848, 7.1496842781073, 7.25682341590407, 7.46164094256645, 7.37149913131863, 7.56470707593246, 7.71334191900841, 7.71375128844693, 7.82793409372511, 7.90749319121623, 7.96255733207686, 8.11381187364273, 8.21211505208663, 8.18427543602736, 8.29133399017863, 8.31295002652197, 8.345677476918, 8.39053879616249, 8.40857122007675, 8.48086068897741, 8.7064475146364, 8.66563269607315, 8.79435721712053, 8.7996087849725, 8.82443395257555, 8.91314507957224, 8.8999544270272, 8.96760168103462, 8.93548690078514, 9.01332239000153, 9.07083338712431, 9.15422051683385, 9.20109302097792, 9.2062218972166, 9.31170984199071, 9.30909253379462, 9.35447695163181, 9.45333740615033, 9.41458248768079, 9.46983861007334, 9.51652628670815, 9.5301888386762, 9.59497468213833, 9.61268143770055, 9.64141492393412, 9.68857453461133, 9.77580537125637, 9.79816256416163, 9.79128849346381, 9.80699184934282, 9.91833626833319, 9.95487179604373, 9.88086373278725, 9.93505313047982, 9.97034080826287, 9.97752630228797, 10.1165750634827, 10.0977558023188, 10.1414502841663, 10.129071787117, 10.166774063688, 10.1792762662323, 10.2172491181904, 10.2670710204409, 10.2742314938915, 10.287876622612, 10.3447249333494, 10.4075370351282, 10.3465199067119, 10.4404223214255, 10.422301774768, 10.4739543513507, 10.5314461891317, 10.4813429169605, 10.5097541699286, 10.5389544549716, 10.5752633644781, 10.6133054015308, 10.6776080133421, 10.6266190058322, 10.6657950921482, 10.7067723709738, 10.7424707425861, 10.7418659657784, 10.7335163259687, 10.780101845273, 10.8334343829096, 10.8616735406708, 10.8535694508523, 10.8900668188725), .Dim = c(100L, 2L), .Dimnames = list(c('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '90', '91', '92', '93', '94', '95', '96', '97', '98', '99', '100'), c('log(x)', 'log(z)'))), 1:2, TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))
       log(x)    log(z)
 1   0.000000  5.765589
@@ -4207,7 +4207,7 @@ x2 4 3 2 1 2 3 4 5
 99  8.188448 10.853569
 100 8.206357 10.890067
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm27#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm27#Ignored.ImplementationError#
 #argv <- structure(list(a = structure(c(0.124248979591837, 0.266432653061224,     0.404342857142857, 0.0992163265306122, 0.0851836734693878,     0.0937632653061225, 0.0163551020408163, 0.182897959183673,     0.303289795918367, 0.010330612244898, 0.0557795918367347,     0.0490938775510204, 0.0992163265306122, 0.0851836734693878,     0.0937632653061225, 0.143689795918367, 0.098469387755102,     0.104004081632653, 0.0116979591836735, 0.0826530612244898,     0.0713795918367347, 0.00929795918367347, 0.0412040816326531,     0.0476285714285714, 0.0163551020408163, 0.182897959183673,     0.303289795918367, 0.0116979591836735, 0.0826530612244898,     0.0713795918367347, 0.0301591836734694, 0.220816326530612,     0.304587755102041, 0.00606938775510204, 0.0731020408163265,     0.0488244897959184, 0.010330612244898, 0.0557795918367347,     0.0490938775510204, 0.00929795918367347, 0.0412040816326531,     0.0476285714285714, 0.00606938775510204, 0.0731020408163265,     0.0488244897959184, 0.0111061224489796, 0.0391061224489796,     0.0754326530612245), .Dim = c(3L, 4L, 4L), .Dimnames = structure(list(Species = c('setosa',     'versicolor', 'virginica'), c('Sepal.Length', 'Sepal.Width',     'Petal.Length', 'Petal.Width'), c('Sepal.Length', 'Sepal.Width',     'Petal.Length', 'Petal.Width')), .Names = c('Species', '',     ''))), perm = c(2, 3, 1)), .Names = c('a', 'perm'));do.call('aperm', argv)
 , , Species = setosa
 
@@ -4250,19 +4250,19 @@ x2 4 3 2 1 2 3 4 5
  [8,] 0.6666667
  [9,] 0.6666667
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm4#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm4#Ignored.ImplementationError#
 #argv <- list(structure(c(0L, 0L, 0L, 1L, 0L, 1L, 1L, 1L), .Dim = c(1L, 8L), .Dimnames = list('strata(enum)', c('rx', 'size', 'number', 'strata(enum)', 'cluster(id)', 'rx:strata(enum)', 'size:strata(enum)', 'number:strata(enum)'))), 1:2, TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))
              rx size number strata(enum) cluster(id) rx:strata(enum)
 strata(enum)  0    0      0            1           0               1
              size:strata(enum) number:strata(enum)
 strata(enum)                 1                   1
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm5#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm5#Ignored.ImplementationError#
 #argv <- list(structure(c(9.2319289524956, -0.470372045488369, 186.857050189827), .Dim = c(1L, 3L), .Dimnames = list('118', c('age', 'sex', 'meal.cal'))), 1:2, TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))
          age       sex meal.cal
 118 9.231929 -0.470372 186.8571
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm6#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm6#Ignored.ImplementationError#
 #argv <- list(structure(c(414L, 439L, 382L, 388L, 383L, 364L, 364L, 363L, 349L, 371L, 102L, 388L, 388L, 363L, 367L, 365L, 382L, 362L, 373L, 385L, 376L, 360L, 306L, 160L, 316L, 316L, 315L, 357L, 360L, 347L, 353L, 308L, 327L, 329L, 343L, 251L, 318L, 304L, 316L, 335L, 365L, 336L, 350L, 356L, 339L, 301L, 330L, 300L, 300L, 312L, 334L, 270L, 347L, 293L, 303L, 337L, 287L, 293L, 293L, 318L, 359L, 351L, 322L, 343L, 269L, 286L, 286L, 273L, 297L, 273L, 273L, 273L, 294L, 303L, 281L, 273L, 255L, 269L, 270L, 270L, 276L, 264L, 245L, 261L, 270L, 273L, 306L, 274L, 279L, 278L, 278L, 284L, 276L, 265L, 294L, 277L, 259L, 287L, 263L, 240L, 217L, 271L, 252L, 331L, 255L, 271L, 254L, 185L, 213L, 210L, 203L, 288L, 269L, 269L, 91L, 91L, 192L, 199L, 195L, 198L, 207L, 200L, 197L, 243L, 203L, 197L, 227L, 227L, 219L, 8L, NA, NA, 246L, NA, 292L, NA, 294L, NA, 19L, 373L, NA, 211L, 82L, NA, 334L, 18L, NA, 280L, NA, NA, NA, NA, 146L, NA, NA, NA, 267L, 206L, 175L, NA, NA, NA, NA, 118L, NA, NA, NA, NA, 274L, NA, NA, 187L, NA, 6L, NA, NA, 146L, 304L, NA, 52L, 67L, NA, 265L, NA, 91L, NA, NA, NA, 318L, 57L, 226L, 65L, NA, 264L, NA, NA, NA, 236L, NA, 207L, NA, NA, NA, NA, NA, NA, 23L, NA, NA, NA, NA, NA, NA, 113L, 99L, NA, NA, 14L, NA, NA, NA, NA, NA, NA, NA, 4L, NA, 167L, NA, NA, NA, NA, NA, NA, NA, NA, NA, 165L, NA, NA, NA, NA, NA, NA, NA, NA, 11L, NA, NA, 168L, NA, NA, 120L, NA, 104L, NA, 373L, 26L, NA, NA, 253L, NA, NA, NA, NA, NA, NA, NA, NA, 260L, 114L, NA, 370L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 280L, NA, NA, NA, NA, 240L, NA, NA, NA, NA, 361L, NA, NA, NA, NA, NA, NA, NA, 188L, NA, NA, 65L, 248L, NA, NA, NA, 121L, NA, NA, NA, NA, 121L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 306L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 159L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 22L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 152L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 265L, 337L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 255L, 250L, NA, NA, NA, 203L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 213L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 169L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 241L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 269L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 284L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 249L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 307L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 322L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 350L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), .Dim = c(128L, 8L), .Dimnames = list(    NULL, c('futime', 'e1', 'e2', 'e3', 'e4', 'e5', 'e6', 'e7'))), c(2L, 1L), TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))
        [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13]
 futime  414  439  382  388  383  364  364  363  349   371   102   388   388
@@ -4383,7 +4383,7 @@ e7         NA
 [5,]  -10    0  180    0    0    0  340  380
 [6,]    0    0    0    0    0    0    0    0
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm8#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_aperm.testaperm8#Ignored.ImplementationError#
 #argv <- list(structure(c(544.790381900886, 398.486952468991, 440.879079007027, 273.26068924187, -165.547292067734, -289.908895455829, -336.563851641157, -433.491123254512, -446.830170210184, -229.698549757081, 7.43503106965538, 237.187718724823, 544.790381900886, 398.486952468991, 440.879079007027, 273.26068924187, -165.547292067734, -289.908895455829, -336.563851641157, -433.491123254512, -446.830170210184, -229.698549757081, 7.43503106965538, 237.187718724823, 544.790381900886, 398.486952468991, 440.879079007027, 273.26068924187, -165.547292067734, -289.908895455829, -336.563851641157, -433.491123254512, -446.830170210184, -229.698549757081, 7.43503106965538, 237.187718724823, 544.790381900886, 398.486952468991, 440.879079007027, 273.26068924187, -165.547292067734, -289.908895455829, -336.563851641157, -433.491123254512, -446.830170210184, -229.698549757081, 7.43503106965538, 237.187718724823, 544.790381900886, 398.486952468991, 440.879079007027, 273.26068924187, -165.547292067734, -289.908895455829, -336.563851641157, -433.491123254512, -446.830170210184, -229.698549757081, 7.43503106965538, 237.187718724823, 544.790381900886, 398.486952468991, 440.879079007027, 273.26068924187, -165.547292067734, -289.908895455829, -336.563851641157, -433.491123254512, -446.830170210184, -229.698549757081, 7.43503106965538, 237.187718724823, 1539.44739946315, 1548.66655077773, 1557.88570209231, 1566.45228027983, 1575.01885846735, 1583.14083472285, 1591.26281097836, 1599.26100149451, 1607.25919201066, 1611.39689466313, 1615.5345973156, 1612.61129444623, 1609.68799157686, 1603.44643859537, 1597.20488561388, 1588.73002343463, 1580.25516125537, 1570.86127478964, 1561.46738832392, 1549.89535441445, 1538.32332050498, 1524.62526591843, 1510.92721133189, 1499.65830819836, 1488.38940506483, 1479.31388700637, 1470.23836894792, 1460.03887936132, 1449.83938977473, 1441.27547309544, 1432.71155641615, 1432.51830671501, 1432.32505701387, 1433.15763708544, 1433.99021715701, 1434.96142536256, 1435.9326335681, 1435.47421580154, 1435.01579803498, 1433.4368629411, 1431.85792784722, 1430.85617066215, 1429.85441347709, 1432.59097206397, 1435.32753065085, 1440.49425642708, 1445.66098220331, 1448.76676550395, 1451.87254880459, 1452.9163236715, 1453.96009853841, 1454.6961768366, 1455.43225513478, 1452.22362902495, 1449.01500291512, 1442.43484036078, 1435.85467780644, 1426.50159512644, 1417.14851244644, 1409.58997614642, 1402.0314398464, 1397.59624058751, 1393.16104132862, 1386.64426440334, 1380.12748747807, 1371.71107833433, 1363.2946691906, 1354.59002807904, 1345.88538696748, 1336.94914699242, 1328.01290701735, 1318.64960669271, 49.7622186359663, -84.1535032467218, -121.764781099341, 37.2870304782966, 82.528433600382, -44.2319392670254, 25.3010406627996, -34.7698782399993, 48.5709781995188, 110.301655093951, -1.96962838525201, -3.7990131710535, -51.4783734777507, 135.066608935635, 114.916035379091, -28.990712676497, -11.7078691876363, 7.04762066618673, -38.9035366827579, 16.5957688400649, -38.4931502947952, 52.0732838386475, 26.6377575984557, 329.153973076816, -13.1797869657194, 872.199160524634, 371.882552045056, -254.299568603192, -95.2920977069916, 8.63342236039193, 16.852295225008, -29.0271834604991, 13.5051131963112, 4.54091267164154, 25.5747517733375, 386.850855912621, 259.276984531009, -199.961168270532, -153.894877042003, 94.302447817031, -20.3106357794875, 21.0527247936745, -6.29056183593116, 13.9001511905426, -29.4973604406664, -31.7957066699985, -224.096013272965, -30.9544842287708, 22.3370692945275, 432.596723859509, 47.1608224545594, -304.956866078466, 50.1150369329559, 24.6852664308792, -14.4511512739648, -4.94371710626865, -19.024507596255, -56.8030453693573, -314.583543516094, 165.222305128756, 316.17817825271, 23.9168069434991, 11.9598796643579, -128.904953645213, 0.419804589665318, -6.80218287850425, 29.2691824505584, 53.9010951754703, 40.9447832426993, -26.2505972353374, -41.4479380870087, -214.837325417531, 2134, 1863, 1877, 1877, 1492, 1249, 1280, 1131, 1209, 1492, 1621, 1846, 2103, 2137, 2153, 1833, 1403, 1288, 1186, 1133, 1053, 1347, 1545, 2066, 2020, 2750, 2283, 1479, 1189, 1160, 1113, 970, 999, 1208, 1467, 2059, 2240, 1634, 1722, 1801, 1246, 1162, 1087, 1013, 959, 1179, 1229, 1655, 2019, 2284, 1942, 1423, 1340, 1187, 1098, 1004, 970, 1140, 1110, 1812, 2263, 1820, 1846, 1531, 1215, 1075, 1056, 975, 940, 1081, 1294, 1341), .Dim = c(72L, 4L), .Dimnames = list(NULL, c('STL.seasonal', 'STL.trend', 'STL.remainder', 'data')), .Tsp = c(1974, 1979.91666666667, 12), class = c('mts', 'ts', 'matrix')), 1:2, TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))
       STL.seasonal STL.trend STL.remainder data
  [1,]   544.790382  1539.447    49.7622186 2134
@@ -4477,7 +4477,7 @@ e7         NA
 #argv <- structure(list(x = 1:5, values = 0:1, after = 3), .Names = c('x',     'values', 'after'));do.call('append', argv)
 [1] 1 2 3 0 1 4 5
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_aregexec.testaregexec1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_aregexec.testaregexec1#Ignored.Unimplemented#
 #argv <- list('FALSE', 'FALSE', c(0.1, NA, NA, NA, NA), c(1L, 1L, 1L), FALSE, FALSE, FALSE); .Internal(aregexec(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))
 [[1]]
 [1] 1
@@ -4485,7 +4485,7 @@ attr(,"match.length")
 [1] 5
 
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_aregexec.testaregexec2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_aregexec.testaregexec2#Ignored.Unimplemented#
 #argv <- list('(lay)(sy)', c('1 lazy', '1', '1 LAZY'), c(2, NA, NA, NA, NA), c(1L, 1L, 1L), FALSE, FALSE, FALSE); .Internal(aregexec(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))
 [[1]]
 [1] 3 3 5
@@ -6179,7 +6179,7 @@ character(0)
 #argv <- structure(list(x = structure(c(1L, 2L, NA), .Label = c('AB',     'CD'), class = 'factor')), .Names = 'x');do.call('as.character.factor', argv)
 [1] "AB" "CD" NA
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_ascomplex.testAsComplex#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_ascomplex.testAsComplex#Ignored.ImplementationError#
 #{ as.complex("+.1e+2-3i") }
 [1] 10-3i
 
@@ -6203,7 +6203,7 @@ character(0)
 #{ as.complex("1+5i") }
 [1] 1+5i
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_ascomplex.testAsComplex#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_ascomplex.testAsComplex#Ignored.ImplementationError#
 #{ as.complex("1e-2+3i") }
 [1] 0.01+3i
 
@@ -6293,7 +6293,7 @@ complex(0)
 #argv <- list(FALSE, FALSE);as.complex(argv[[1]],argv[[2]]);
 [1] 0+0i
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_ascomplex.testascomplex3#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_ascomplex.testascomplex3#Output.IgnoreWarningMessage#
 #argv <- list(' ');as.complex(argv[[1]]);
 [1] NA
 
@@ -6341,12 +6341,12 @@ q3.csv      0.3333333 0.6666667 0.5000000
 [1] Freq
 <0 rows> (or 0-length row.names)
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_asdifftime.testasdifftime1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_asdifftime.testasdifftime1#Ignored.ImplementationError#
 #argv <- structure(list(tim = c('0:3:20', '11:23:15')), .Names = 'tim');do.call('as.difftime', argv)
 Time differences in mins
 [1]   3.333333 683.250000
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_asdifftime.testasdifftime2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_asdifftime.testasdifftime2#Ignored.ImplementationError#
 #argv <- structure(list(tim = c('3:20', '23:15', '2:'), format = '%H:%M'),     .Names = c('tim', 'format'));do.call('as.difftime', argv)
 Time differences in hours
 [1]  3.333333 23.250000        NA
@@ -6467,7 +6467,7 @@ numeric(0)
 [149] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5
 [186] 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_asdouble.testasdouble16#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_asdouble.testasdouble16#Ignored.ImplementationError#
 #argv <- list(structure(28, units = 'days', class = 'difftime'), units = 'secs');as.double(argv[[1]],argv[[2]]);
 [1] 2419200
 
@@ -6508,7 +6508,7 @@ numeric(0)
  [1] 9.9e-03 9.9e-02 9.9e-01 9.9e+00 9.9e+01 9.9e+02 9.9e+03 9.9e+04 9.9e+05
 [10] 9.9e+06 9.9e+07 9.9e+08 9.9e+09 9.9e+10
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_asdouble.testasdouble19#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_asdouble.testasdouble19#Ignored.ImplementationError#
 #argv <- list(structure(180.958333333333, units = 'days', class = 'difftime'), units = 'secs');as.double(argv[[1]],argv[[2]]);
 [1] 15634800
 
@@ -6558,7 +6558,7 @@ numeric(0)
  [1]   9.000   3.000   3.000   6.761 156.678  18.327  11.764 191.640 323.560
 [10] 197.210 190.640
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_asdouble.testasdouble3#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_asdouble.testasdouble3#Ignored.ImplementationError#
 #argv <- list(structure(4, tzone = 'GMT', units = 'days', class = 'difftime'), units = 'secs');as.double(argv[[1]],argv[[2]]);
 [1] 345600
 
@@ -7202,7 +7202,7 @@ logical(0)
 [1,]    1    3
 [2,]    2    4
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_asmatrix.testMatrix#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_asmatrix.testMatrix#Output.MissingWarning#
 #{ matrix(1:4,3,2) }
      [,1] [,2]
 [1,]    1    4
@@ -7305,7 +7305,7 @@ In matrix(1:4, 3, 2) :
 [1,]    1    3
 [2,]    2    4
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_asmatrix.testMatrix#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_asmatrix.testMatrix#Output.MissingWarning#
 #{ matrix(c(1,2,3,4),3,2) }
      [,1] [,2]
 [1,]    1    4
@@ -8555,7 +8555,7 @@ NULL
 #argv <- list(structure(c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1), .Dim = c(32L, 23L), .Dimnames = list(c('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32'), c('(Intercept)', 'HairBrown', 'HairRed', 'HairBlond', 'EyeBlue', 'EyeHazel', 'EyeGreen', 'SexFemale', 'HairBrown:EyeBlue', 'HairRed:EyeBlue', 'HairBlond:EyeBlue', 'HairBrown:EyeHazel', 'HairRed:EyeHazel', 'HairBlond:EyeHazel', 'HairBrown:EyeGreen', 'HairRed:EyeGreen', 'HairBlond:EyeGreen', 'HairBrown:SexFemale', 'HairRed:SexFemale', 'HairBlond:SexFemale', 'EyeBlue:SexFemale', 'EyeHazel:SexFemale', 'EyeGreen:SexFemale')), assign = c(0L, 1L, 1L, 1L, 2L, 2L, 2L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 6L, 6L, 6L), contrasts = structure(list(Hair = 'contr.treatment',     Eye = 'contr.treatment', Sex = 'contr.treatment'), .Names = c('Hair', 'Eye', 'Sex'))), 'assign');attr(argv[[1]],argv[[2]]);
  [1] 0 1 1 1 2 2 2 3 4 4 4 4 4 4 4 4 4 5 5 5 6 6 6
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_attr.testattr10#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_attr.testattr10#Output.IgnoreWhitespace#
 #argv <- list(structure(list(Employed = c(60.323, 61.122, 60.171, 61.187, 63.221, 63.639, 64.989, 63.761, 66.019, 67.857, 68.169, 66.513, 68.655, 69.564, 69.331, 70.551), GNP.deflator = c(83, 88.5, 88.2, 89.5, 96.2, 98.1, 99, 100, 101.2, 104.6, 108.4, 110.8, 112.6, 114.2, 115.7, 116.9), GNP = c(234.289, 259.426, 258.054, 284.599, 328.975, 346.999, 365.385, 363.112, 397.469, 419.18, 442.769, 444.546, 482.704, 502.601, 518.173, 554.894), Unemployed = c(235.6, 232.5, 368.2, 335.1, 209.9, 193.2, 187, 357.8, 290.4, 282.2, 293.6, 468.1, 381.3, 393.1, 480.6, 400.7), Armed.Forces = c(159, 145.6, 161.6, 165, 309.9, 359.4, 354.7, 335, 304.8, 285.7, 279.8, 263.7, 255.2, 251.4, 257.2, 282.7), Population = c(107.608, 108.632, 109.773, 110.929, 112.075, 113.27, 115.094, 116.219, 117.388, 118.734, 120.445, 121.95, 123.366, 125.368, 127.852, 130.081), Year = 1947:1962), .Names = c('Employed', 'GNP.deflator', 'GNP', 'Unemployed', 'Armed.Forces', 'Population', 'Year'), terms = quote(Employed ~ GNP.deflator + GNP + Unemployed +     Armed.Forces + Population + Year), row.names = 1947:1962, class = 'data.frame'), 'terms');attr(argv[[1]],argv[[2]]);
 Employed ~ GNP.deflator + GNP + Unemployed + Armed.Forces + Population +
     Year
@@ -9411,7 +9411,7 @@ $class
 #argv <- list(c(1000, 1e+07, 1));attributes(argv[[1]]);
 NULL
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_attributes.testattributes23#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_attributes.testattributes23#Ignored.ImplementationError#
 #argv <- list(structure(list(), .Names = character(0), arguments = structure('object', simpleOnly = TRUE), signatures = list(), generic = structure(function (object) standardGeneric('show'), generic = structure('show', package = 'methods'), package = 'methods', group = list(), valueClass = character(0), signature = structure('object', simpleOnly = TRUE), default = structure(function (object) showDefault(object, FALSE), target = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'object', package = 'methods'), defined = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'object', package = 'methods'), generic = structure('show', package = 'methods'), class = structure('derivedDefaultMethod', package = 'methods')), skeleton = quote((function (object) showDefault(object, FALSE))(object)), class = structure('standardGeneric', package = 'methods')), class = structure('listOfMethods', package = 'methods')));attributes(argv[[1]]);
 $names
 character(0)
@@ -9677,7 +9677,7 @@ attr(,"foo")
 #argv <- structure(list(structure(list(), class = structure('L',     package = '.GlobalEnv')), value = NULL), .Names = c('', 'value'));do.call('attributes<-', argv)
 list()
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_backsolve.testbacksolve1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_backsolve.testbacksolve1#Ignored.Unimplemented#
 #argv <- list(structure(c(-2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.0421675318334475, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.0421675318334475, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.445407110781343, 0, 0, 0, -1.73205080756888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.510819156714975, 0, 0, 0, 0, -1.73205080756888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.510819156714975, 0, 0, 0, 0, 0, -1.73205080756888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.510819156714975, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.0592753100948471, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.428419619610855, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.252201198430086, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.428419619610855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.73205080756888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.510819156714975, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.0592753100948472, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, -0.0592753100948472, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, -0.252201198430086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, -0.252201198430086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, -0.0421675318334475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, -0.0421675318334475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.73205080756888, 0, 0, 0, -0.0486697428190666, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.73205080756888, 0, 0, -0.0486697428190666, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.73205080756888, 0, -0.0486697428190666, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.73205080756888, -0.0486697428190666, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.935285871700694), .Dim = c(22L, 22L), .Dimnames = list(c('StripS01', 'StripS02', 'StripS03', 'StripS04', 'StripS05', 'StripS06', 'StripS07', 'StripS08', 'StripS09', 'StripS10', 'StripS11', 'StripS12', 'StripS13', 'StripS14', 'StripS15', 'StripS16', 'StripS17', 'StripS18', 'StripS19', 'StripS20', 'StripS21', ''), c('3', '4', '5', '6', '9', '10', '11', '12', '13', '14', '15', '16', '19', '20', '21', '25', '26', '27', '31', '32', '33', '39'))), structure(c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00019677474442243), .Dim = c(22L, 1L)), 22L, FALSE, FALSE); .Internal(backsolve(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]]))
                [,1]
  [1,]  0.0000000000
@@ -9703,7 +9703,7 @@ list()
 [21,]  0.0000000000
 [22,] -0.0002103899
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_backsolve.testbacksolve2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_backsolve.testbacksolve2#Ignored.Unimplemented#
 #argv <- list(structure(c(-2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.0421590411210753, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.0421590411210753, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.445373554228914, 0, 0, 0, -1.73205080756888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.510781706167877, 0, 0, 0, 0, -1.73205080756888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.510781706167877, 0, 0, 0, 0, 0, -1.73205080756888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.510781706167877, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.0592635069735823, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.428392065749892, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.252172670570357, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.428392065749892, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.73205080756888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.510781706167877, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.0592635069735823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, -0.0592635069735823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, -0.252172670570357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, -0.252172670570357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, -0.0421590411210753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, -0.0421590411210753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.73205080756888, 0, 0, 0, -0.0486599542810648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.73205080756888, 0, 0, -0.0486599542810647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.73205080756888, 0, -0.0486599542810648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.73205080756888, -0.0486599542810648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.935253697073914), .Dim = c(22L, 22L), .Dimnames = list(c('StripS01', 'StripS02', 'StripS03', 'StripS04', 'StripS05', 'StripS06', 'StripS07', 'StripS08', 'StripS09', 'StripS10', 'StripS11', 'StripS12', 'StripS13', 'StripS14', 'StripS15', 'StripS16', 'StripS17', 'StripS18', 'StripS19', 'StripS20', 'StripS21', ''), c('3', '4', '5', '6', '9', '10', '11', '12', '13', '14', '15', '16', '19', '20', '21', '25', '26', '27', '31', '32', '33', '39'))), structure(c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.20033559004316e-05), .Dim = c(22L, 1L)), 22L, FALSE, FALSE); .Internal(backsolve(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]]))
                [,1]
  [1,]  0.000000e+00
@@ -9729,7 +9729,7 @@ list()
 [21,]  0.000000e+00
 [22,] -1.283433e-05
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_backsolve.testbacksolve3#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_backsolve.testbacksolve3#Ignored.Unimplemented#
 #argv <- list(structure(c(-0.91092349872819, -1.26769315823132, 0, -1.11965595698793), .Dim = c(2L, 2L)), structure(c(-0.000210872744086474, 0.000210873298561107), .Dim = c(2L, 1L)), 2L, FALSE, FALSE); .Internal(backsolve(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]]))
               [,1]
 [1,]  0.0002314934
@@ -9851,23 +9851,23 @@ character(0)
 # .Internal(bcVersion())
 [1] 8
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_besselI.testbesselI1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_besselI.testbesselI1#Ignored.Unimplemented#
 #argv <- list(FALSE, FALSE, 1); .Internal(besselI(argv[[1]], argv[[2]], argv[[3]]))
 [1] 1
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_besselI.testbesselI2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_besselI.testbesselI2#Ignored.Unimplemented#
 #argv <- list(logical(0), logical(0), 1); .Internal(besselI(argv[[1]], argv[[2]], argv[[3]]))
 numeric(0)
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_besselJ.testbesselJ1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_besselJ.testbesselJ1#Ignored.Unimplemented#
 #argv <- list(logical(0), logical(0)); .Internal(besselJ(argv[[1]], argv[[2]]))
 numeric(0)
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_besselJ.testbesselJ2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_besselJ.testbesselJ2#Ignored.Unimplemented#
 #argv <- list(FALSE, FALSE); .Internal(besselJ(argv[[1]], argv[[2]]))
 [1] 1
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_besselJ.testbesselJ3#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_besselJ.testbesselJ3#Ignored.Unimplemented#
 #argv <- list(c(9.5367431640625e-07, 1.9073486328125e-06, 3.814697265625e-06, 7.62939453125e-06, 1.52587890625e-05, 3.0517578125e-05, 6.103515625e-05, 0.0001220703125, 0.000244140625, 0.00048828125, 0.0009765625, 0.001953125, 0.00390625, 0.0078125, 0.015625, 0.03125, 0.0625, 0.125, 0.25, 0.5, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024), 2.5); .Internal(besselJ(argv[[1]], argv[[2]]))
  [1]  4.724426e-17  2.672539e-16  1.511816e-15  8.552124e-15  4.837812e-14
  [6]  2.736680e-13  1.548100e-12  8.757375e-12  4.953919e-11  2.802360e-10
@@ -9877,15 +9877,15 @@ numeric(0)
 [26] -8.858053e-02 -9.352409e-02 -4.969565e-02  4.984926e-02 -2.597979e-03
 [31]  3.880718e-03
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_besselK.testbesselK1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_besselK.testbesselK1#Ignored.Unimplemented#
 #argv <- list(FALSE, FALSE, 1); .Internal(besselK(argv[[1]], argv[[2]], argv[[3]]))
 [1] Inf
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_besselK.testbesselK2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_besselK.testbesselK2#Ignored.Unimplemented#
 #argv <- list(logical(0), logical(0), 1); .Internal(besselK(argv[[1]], argv[[2]], argv[[3]]))
 numeric(0)
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_besselK.testbesselK3#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_besselK.testbesselK3#Ignored.Unimplemented#
 #argv <- list(c(9.5367431640625e-07, 1.9073486328125e-06, 3.814697265625e-06, 7.62939453125e-06, 1.52587890625e-05, 3.0517578125e-05, 6.103515625e-05, 0.0001220703125, 0.000244140625, 0.00048828125, 0.0009765625, 0.001953125, 0.00390625, 0.0078125, 0.015625, 0.03125, 0.0625, 0.125, 0.25, 0.5, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024), 3, 1); .Internal(besselK(argv[[1]], argv[[2]], argv[[3]]))
  [1]  9.223372e+18  1.152922e+18  1.441152e+17  1.801440e+16  2.251800e+15
  [6]  2.814750e+14  3.518437e+13  4.398047e+12  5.497558e+11  6.871947e+10
@@ -9895,7 +9895,7 @@ numeric(0)
 [26]  3.209956e-15  2.688919e-29  2.948133e-57 5.271814e-113 2.445443e-224
 [31]  0.000000e+00
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_besselK.testbesselK4#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_besselK.testbesselK4#Ignored.Unimplemented#
 #argv <- list(c(9.5367431640625e-07, 1.9073486328125e-06, 3.814697265625e-06, 7.62939453125e-06, 1.52587890625e-05, 3.0517578125e-05, 6.103515625e-05, 0.0001220703125, 0.000244140625, 0.00048828125, 0.0009765625, 0.001953125, 0.00390625, 0.0078125, 0.015625, 0.03125, 0.0625, 0.125, 0.25, 0.5, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024), 3.5, 1); .Internal(besselK(argv[[1]], argv[[2]], argv[[3]]))
  [1]  2.219478e+22  1.961760e+21  1.733967e+20  1.532625e+19  1.354662e+18
  [6]  1.197363e+17  1.058330e+16  9.354401e+14  8.268201e+13  7.308126e+12
@@ -9905,7 +9905,7 @@ numeric(0)
 [26]  3.374310e-15  2.757500e-29  2.985649e-57 5.305318e-113 2.453209e-224
 [31]  0.000000e+00
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_besselY.testbesselY1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_besselY.testbesselY1#Ignored.Unimplemented#
 #argv <- list(c(9.5367431640625e-07, 1.9073486328125e-06, 3.814697265625e-06, 7.62939453125e-06, 1.52587890625e-05, 3.0517578125e-05, 6.103515625e-05, 0.0001220703125, 0.000244140625, 0.00048828125, 0.0009765625, 0.001953125, 0.00390625, 0.0078125, 0.015625, 0.03125, 0.0625, 0.125, 0.25, 0.5, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024), 20.5); .Internal(besselY(argv[[1]], argv[[2]]))
  [1] -6.747747e+146 -4.550341e+140 -3.068520e+134 -2.069255e+128 -1.395401e+122
  [6] -9.409884e+115 -6.345551e+109 -4.279120e+103  -2.885623e+97  -1.945918e+91
@@ -9915,7 +9915,7 @@ numeric(0)
 [26]  -7.076470e-02   2.381079e-02   4.744158e-02  -3.516090e-02   3.336562e-02
 [31]  -2.491015e-02
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_besselY.testbesselY2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_besselY.testbesselY2#Ignored.Unimplemented#
 #argv <- list(2, c(3, 8.94, 14.88, 20.82, 26.76, 32.7, 38.64, 44.58, 50.52, 56.46, 62.4, 68.34, 74.28, 80.22, 86.16, 92.1, 98.04, 103.98, 109.92, 115.86, 121.8, 127.74, 133.68, 139.62, 145.56, 151.5, 157.44, 163.38, 169.32, 175.26, 181.2, 187.14, 193.08, 199.02, 204.96, 210.9, 216.84, 222.78, 228.72, 234.66, 240.6, 246.54, 252.48, 258.42, 264.36, 270.3, 276.24, 282.18, 288.12, 294.06, 300)); .Internal(besselY(argv[[1]], argv[[2]]))
  [1]  -1.127784e+00  -1.282008e+04  -2.165098e+10  -4.733004e+17  -6.084569e+25
  [6]  -3.046226e+34  -4.601250e+43  -1.761838e+53  -1.506980e+63  -2.615568e+73
@@ -9930,7 +9930,7 @@ numeric(0)
 [51]           -Inf
 There were 22 warnings (use warnings() to see them)
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_besselY.testbesselY3#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_besselY.testbesselY3#Ignored.Unimplemented#
 #argv <- list(c(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 4, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6, 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 6.9, 7, 7.1, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 8, 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9, 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7, 9.8, 9.9, 10), -0.2); .Internal(besselY(argv[[1]], argv[[2]]))
   [1]         -Inf -1.129937637 -0.690945975 -0.435238869 -0.251890636
   [6] -0.108032918  0.010318976  0.110293104  0.195945764  0.269765825
@@ -9954,23 +9954,23 @@ There were 22 warnings (use warnings() to see them)
  [96]  0.102417825  0.077752074  0.052569412  0.027122694  0.001664807
 [101] -0.023553761
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_besselY.testbesselY4#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_besselY.testbesselY4#Ignored.Unimplemented#
 #argv <- list(logical(0), logical(0)); .Internal(besselY(argv[[1]], argv[[2]]))
 numeric(0)
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_beta.testbeta1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_beta.testbeta1#Ignored.Unimplemented#
 #argv <- list(FALSE, FALSE); .Internal(beta(argv[[1]], argv[[2]]))
 [1] Inf
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_beta.testbeta2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_beta.testbeta2#Ignored.Unimplemented#
 #argv <- list(logical(0), logical(0)); .Internal(beta(argv[[1]], argv[[2]]))
 numeric(0)
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_beta.testbeta4#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_beta.testbeta4#Ignored.Unimplemented#
 #argv <- structure(list(a = 0.01, b = 171), .Names = c('a', 'b'));do.call('beta', argv)
 [1] 94.45204
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_beta.testbeta5#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_beta.testbeta5#Ignored.Unimplemented#
 #argv <- structure(list(a = 1e-200, b = 1e-200), .Names = c('a',     'b'));do.call('beta', argv)
 [1] 2e+200
 
@@ -10035,11 +10035,11 @@ integer(0)
 [101]  2  2  2  2  2  2  2  2  2  2  2  2  2  2  2  2  2  2  1  2  2  2  2  2  2
 [126]  2  1  2  2  1  2  1  2  2  1  1  2  1  1  2  2  1  2  1  2  2
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_bindtextdomain.testbindtextdomain1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_bindtextdomain.testbindtextdomain1#Ignored.MissingBuiltin#
 #argv <- list('splines', '/home/roman/r-instrumented/library/translations'); .Internal(bindtextdomain(argv[[1]], argv[[2]]))
 [1] "/home/roman/r-instrumented/library/translations"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_bindtextdomain.testbindtextdomain2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_bindtextdomain.testbindtextdomain2#Ignored.MissingBuiltin#
 #argv <- list('utils', '/home/lzhao/hg/r-instrumented/library/translations'); .Internal(bindtextdomain(argv[[1]], argv[[2]]))
 [1] "/home/lzhao/hg/r-instrumented/library/translations"
 
@@ -10184,7 +10184,7 @@ Error in .Internal(bitwiseShiftR(, 1)) : argument 1 is empty
 #{ .Internal(bitwiseShiftR(200, ))}
 Error in .Internal(bitwiseShiftR(200, )) : argument 2 is empty
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_bitwiseShiftR.testBitwiseFunctions#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_bitwiseShiftR.testBitwiseFunctions#Output.IgnoreWarningMessage#
 #{ bitwShiftR(c(1,2,3,4), c("Hello")) }
 [1] NA NA NA NA
 Warning message:
@@ -11043,7 +11043,7 @@ $Residuals
 #argv <- list(structure(1208822400, class = c('POSIXct', 'POSIXt')), structure(1209168000, class = c('POSIXct', 'POSIXt')));c(argv[[1]],argv[[2]]);
 [1] "2008-04-22 GMT" "2008-04-26 GMT"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_c.testc14#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_c.testc14#Ignored.OutputFormatting#
 #argv <- list(`Grand mean` = structure(103.87323943662, class = 'mtable'), structure(list(N = structure(c(78.7365206866197, 98.5088731171753, 113.842206450509, 123.008873117175), .Dim = 4L, .Dimnames = structure(list(N = c('0.0cwt', '0.2cwt', '0.4cwt', '0.6cwt')), .Names = 'N'), class = 'mtable'), `V:N` = structure(c(79.5323303457107, 86.1989970123773, 69.7732394366197, 98.0323303457106, 108.032330345711, 89.1989970123773, 114.198997012377, 116.698997012377, 110.365663679044, 124.365663679044, 126.365663679044, 118.032330345711), .Dim = 3:4, .Dimnames = structure(list(V = c('Golden.rain', 'Marvellous', 'Victory'), N = c('0.0cwt', '0.2cwt', '0.4cwt', '0.6cwt')), .Names = c('V', 'N')), class = 'mtable')), .Names = c('N', 'V:N')));c(argv[[1]],argv[[2]]);
 [[1]]
 [1] 103.8732
@@ -11061,6 +11061,10 @@ V             0.0cwt    0.2cwt    0.4cwt    0.6cwt
   Victory      69.77324  89.19900 110.36566 118.03233
 
 
+##com.oracle.truffle.r.test.builtins.TestBuiltin_c.testc14#Ignored.OutputFormatting#
+#options(digits=4);c(0.12345678912345,0.123)
+[1] 0.1235 0.1230
+
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_c.testc15#
 #argv <- list(NULL, structure(list(class = 'try-error', condition = structure(list(message = '(converted from warning) NAs produced', call = quote(rexp(2, numeric()))), .Names = c('message', 'call'), class = c('simpleError', 'error', 'condition'))), .Names = c('class', 'condition')));c(argv[[1]],argv[[2]]);
 $class
@@ -11696,7 +11700,7 @@ $x
 #argv <- list(369.430769230769, 4.99999999999983);c(argv[[1]],argv[[2]]);
 [1] 369.4308   5.0000
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_c.testc57#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_c.testc57#Ignored.ImplementationError#
 #argv <- list(structure(list(structure(list(title = 'boot: Bootstrap R (S-PLUS) Functions', author = structure(list(structure(list(given = 'Angelo', family = 'Canty', role = 'aut', email = NULL, comment = 'S original'), .Names = c('given', 'family', 'role', 'email', 'comment')), structure(list(given = c('Brian', 'D.'), family = 'Ripley', role = c('aut', 'trl', 'cre'), email = 'ripley@stats.ox.ac.uk', comment = 'R port, author of parallel support'), .Names = c('given', 'family', 'role', 'email', 'comment'))), class = 'person'),     year = '2012', note = 'R package version 1.3-4', url = 'http://CRAN.R-project.org/package=boot'), .Names = c('title', 'author', 'year', 'note', 'url'), bibtype = 'Manual', key = 'boot-package')), class = 'bibentry'), structure(list(structure(list(title = 'Bootstrap Methods and Their Applications', author = structure(list(structure(list(given = c('Anthony', 'C.'), family = 'Davison', role = 'aut', email = NULL, comment = NULL), .Names = c('given', 'family', 'role', 'email', 'comment')), structure(list(    given = c('David', 'V.'), family = 'Hinkley', role = 'aut', email = NULL, comment = NULL), .Names = c('given', 'family', 'role', 'email', 'comment'))), class = 'person'), year = '1997', publisher = 'Cambridge University Press', address = 'Cambridge', isbn = '0-521-57391-2', url = 'http://statwww.epfl.ch/davison/BMA/'), .Names = c('title', 'author', 'year', 'publisher', 'address', 'isbn', 'url'), bibtype = 'Book', key = 'boot-book')), class = 'bibentry'));c(argv[[1]],argv[[2]]);
 Canty A and Ripley BD (2012). _boot: Bootstrap R (S-PLUS) Functions_. R
 package version 1.3-4, <URL: http://CRAN.R-project.org/package=boot>.
@@ -11721,7 +11725,12 @@ Applications_. Cambridge University Press, Cambridge. ISBN
 #argv <- list('ArgMethod', 1.10714871779409);c(argv[[1]],argv[[2]]);
 [1] "ArgMethod"        "1.10714871779409"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_c.testc61#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_c.testc61#Ignored.OutputFormatting#
+#.Primitive('==');.Primitive('!');
+function (e1, e2)  .Primitive("==")
+function (x)  .Primitive("!")
+
+##com.oracle.truffle.r.test.builtins.TestBuiltin_c.testc61#Ignored.OutputFormatting#
 #argv <- list(structure(list(`ANY#ANY` = .Primitive('==')), .Names = 'ANY#ANY'), list());c(argv[[1]],argv[[2]]);
 $`ANY#ANY`
 function (e1, e2)  .Primitive("==")
@@ -11960,7 +11969,7 @@ $df.residual
 [1] 8
 
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_c.testc74#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_c.testc74#Ignored.OutputFormatting#
 #argv <- list(structure(list(object = c('time', 'status')), .Names = 'object'), structure(list(max.level = NA, vec.len = 4, digits.d = 3, nchar.max = 128, give.attr = TRUE, give.head = TRUE, width = 80L, envir = NULL, strict.width = 'no', formatNum = function (x, ...) format(x, trim = TRUE, drop0trailing = TRUE, ...), list.len = 99), .Names = c('max.level', 'vec.len', 'digits.d', 'nchar.max', 'give.attr', 'give.head', 'width', 'envir', 'strict.width', 'formatNum', 'list.len')), structure(list(give.length = TRUE, nest.lev = 2, indent.str = '  .. ..'), .Names = c('give.length', 'nest.lev', 'indent.str')));c(argv[[1]],argv[[2]],argv[[3]]);
 $object
 [1] "time"   "status"
@@ -13018,7 +13027,7 @@ structure(integer(0), .Dim = c(0L, 3L), .Dimnames = list(NULL,
 [199,]    2    3    2    2    2    2
 [200,]    2    2    2    1    2    2
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_cbind.testcbind4#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_cbind.testcbind4#Ignored.OutputFormatting#
 #argv <- list(structure(list(Sepal.Length = c(5.1, 4.9, 4.7, 4.6,     5, 5.4, 4.6, 5, 4.4, 4.9, 5.4, 4.8, 4.8, 4.3, 5.8, 5.7, 5.4,     5.1, 5.7, 5.1, 5.4, 5.1, 4.6, 5.1, 4.8, 5, 5, 5.2, 5.2, 4.7,     4.8, 5.4, 5.2, 5.5, 4.9, 5, 5.5, 4.9, 4.4, 5.1, 5, 4.5, 4.4,     5, 5.1, 4.8, 5.1, 4.6, 5.3, 5, 7, 6.4, 6.9, 5.5, 6.5, 5.7,     6.3, 4.9, 6.6, 5.2, 5, 5.9, 6, 6.1, 5.6, 6.7, 5.6, 5.8, 6.2,     5.6, 5.9, 6.1, 6.3, 6.1, 6.4, 6.6, 6.8, 6.7, 6, 5.7, 5.5,     5.5, 5.8, 6, 5.4, 6, 6.7, 6.3, 5.6, 5.5, 5.5, 6.1, 5.8, 5,     5.6, 5.7, 5.7, 6.2, 5.1, 5.7, 6.3, 5.8, 7.1, 6.3, 6.5, 7.6,     4.9, 7.3, 6.7, 7.2, 6.5, 6.4, 6.8, 5.7, 5.8, 6.4, 6.5, 7.7,     7.7, 6, 6.9, 5.6, 7.7, 6.3, 6.7, 7.2, 6.2, 6.1, 6.4, 7.2,     7.4, 7.9, 6.4, 6.3, 6.1, 7.7, 6.3, 6.4, 6, 6.9, 6.7, 6.9,     5.8, 6.8, 6.7, 6.7, 6.3, 6.5, 6.2, 5.9), Sepal.Width = c(4,     3, 3, 3, 4, 4, 3, 3, 3, 3, 4, 3, 3, 3, 4, 4, 4, 4, 4, 4,     3, 4, 4, 3, 3, 3, 3, 4, 3, 3, 3, 3, 4, 4, 3, 3, 4, 4, 3,     3, 4, 2, 3, 4, 4, 3, 4, 3, 4, 3, 3, 3, 3, 2, 3, 3, 3, 2,     3, 3, 2, 3, 2, 3, 3, 3, 3, 3, 2, 2, 3, 3, 2, 3, 3, 3, 3,     3, 3, 3, 2, 2, 3, 3, 3, 3, 3, 2, 3, 2, 3, 3, 3, 2, 3, 3,     3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 2, 3, 2, 4, 3, 3, 3, 2, 3,     3, 3, 4, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 3,     3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3), Petal.Length = c(1.4,     1.4, 1.3, 1.5, 1.4, 1.7, 1.4, 1.5, 1.4, 1.5, 1.5, 1.6, 1.4,     1.1, 1.2, 1.5, 1.3, 1.4, 1.7, 1.5, 1.7, 1.5, 1, 1.7, 1.9,     1.6, 1.6, 1.5, 1.4, 1.6, 1.6, 1.5, 1.5, 1.4, 1.5, 1.2, 1.3,     1.4, 1.3, 1.5, 1.3, 1.3, 1.3, 1.6, 1.9, 1.4, 1.6, 1.4, 1.5,     1.4, 4.7, 4.5, 4.9, 4, 4.6, 4.5, 4.7, 3.3, 4.6, 3.9, 3.5,     4.2, 4, 4.7, 3.6, 4.4, 4.5, 4.1, 4.5, 3.9, 4.8, 4, 4.9, 4.7,     4.3, 4.4, 4.8, 5, 4.5, 3.5, 3.8, 3.7, 3.9, 5.1, 4.5, 4.5,     4.7, 4.4, 4.1, 4, 4.4, 4.6, 4, 3.3, 4.2, 4.2, 4.2, 4.3, 3,     4.1, 6, 5.1, 5.9, 5.6, 5.8, 6.6, 4.5, 6.3, 5.8, 6.1, 5.1,     5.3, 5.5, 5, 5.1, 5.3, 5.5, 6.7, 6.9, 5, 5.7, 4.9, 6.7, 4.9,     5.7, 6, 4.8, 4.9, 5.6, 5.8, 6.1, 6.4, 5.6, 5.1, 5.6, 6.1,     5.6, 5.5, 4.8, 5.4, 5.6, 5.1, 5.1, 5.9, 5.7, 5.2, 5, 5.2,     5.4, 5.1), Petal.Width = c(0.2, 0.2, 0.2, 0.2, 0.2, 0.4,     0.3, 0.2, 0.2, 0.1, 0.2, 0.2, 0.1, 0.1, 0.2, 0.4, 0.4, 0.3,     0.3, 0.3, 0.2, 0.4, 0.2, 0.5, 0.2, 0.2, 0.4, 0.2, 0.2, 0.2,     0.2, 0.4, 0.1, 0.2, 0.2, 0.2, 0.2, 0.1, 0.2, 0.2, 0.3, 0.3,     0.2, 0.6, 0.4, 0.3, 0.2, 0.2, 0.2, 0.2, 1.4, 1.5, 1.5, 1.3,     1.5, 1.3, 1.6, 1, 1.3, 1.4, 1, 1.5, 1, 1.4, 1.3, 1.4, 1.5,     1, 1.5, 1.1, 1.8, 1.3, 1.5, 1.2, 1.3, 1.4, 1.4, 1.7, 1.5,     1, 1.1, 1, 1.2, 1.6, 1.5, 1.6, 1.5, 1.3, 1.3, 1.3, 1.2, 1.4,     1.2, 1, 1.3, 1.2, 1.3, 1.3, 1.1, 1.3, 2.5, 1.9, 2.1, 1.8,     2.2, 2.1, 1.7, 1.8, 1.8, 2.5, 2, 1.9, 2.1, 2, 2.4, 2.3, 1.8,     2.2, 2.3, 1.5, 2.3, 2, 2, 1.8, 2.1, 1.8, 1.8, 1.8, 2.1, 1.6,     1.9, 2, 2.2, 1.5, 1.4, 2.3, 2.4, 1.8, 1.8, 2.1, 2.4, 2.3,     1.9, 2.3, 2.5, 2.3, 1.9, 2, 2.3, 1.8), Species = structure(c(1L,     1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,     1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,     1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,     1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,     2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,     2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,     2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L,     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L),     .Label = c('setosa', 'versicolor', 'virginica'), class = 'factor')),     .Names = c('Sepal.Length', 'Sepal.Width', 'Petal.Length',         'Petal.Width', 'Species'), row.names = c(NA, -150L),     class = 'data.frame'), structure(c(3, 2, 2, 2, 3, 3, 2, 2,     2, 2, 3, 2, 2, 2, 3, 3, 3, 3, 3, 3, 2, 3, 3, 2, 2, 2, 2,     3, 2, 2, 2, 2, 3, 3, 2, 2, 3, 3, 2, 2, 3, 1, 2, 3, 3, 2,     3, 2, 3, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 2, 1, 2, 1, 2, 2,     2, 2, 2, 1, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2,     2, 2, 2, 1, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2,     2, 2, 2, 1, 2, 1, 3, 2, 2, 2, 1, 2, 2, 2, 3, 2, 1, 2, 2,     2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2,     2, 2, 2, 2, 2, 1, 2, 2, 2), .Names = c('4', '3', '3', '3',     '4', '4', '3', '3', '3', '3', '4', '3', '3', '3', '4', '4',     '4', '4', '4', '4', '3', '4', '4', '3', '3', '3', '3', '4',     '3', '3', '3', '3', '4', '4', '3', '3', '4', '4', '3', '3',     '4', '2', '3', '4', '4', '3', '4', '3', '4', '3', '3', '3',     '3', '2', '3', '3', '3', '2', '3', '3', '2', '3', '2', '3',     '3', '3', '3', '3', '2', '2', '3', '3', '2', '3', '3', '3',     '3', '3', '3', '3', '2', '2', '3', '3', '3', '3', '3', '2',     '3', '2', '3', '3', '3', '2', '3', '3', '3', '3', '2', '3',     '3', '3', '3', '3', '3', '3', '2', '3', '2', '4', '3', '3',     '3', '2', '3', '3', '3', '4', '3', '2', '3', '3', '3', '3',     '3', '3', '3', '3', '3', '3', '3', '4', '3', '3', '3', '3',     '3', '3', '3', '3', '3', '3', '3', '3', '3', '3', '2', '3',     '3', '3')));do.call('cbind', argv)
     Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
 1            5.1           4          1.4         0.2     setosa
@@ -13481,23 +13490,23 @@ integer(0)
 #argv <- list(character(0), c('semiTransparency', 'transparentBackground', 'rasterImage', 'capture', 'locator', 'events'), 0L); .Internal(charmatch(argv[[1]], argv[[2]], argv[[3]]))
 integer(0)
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_chartr.testchartr1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_chartr.testchartr1#Ignored.Unimplemented#
 #argv <- list('.', '.', c('0.02', '0.06', '0.11', '0.22', '0.56', '1.1')); .Internal(chartr(argv[[1]], argv[[2]], argv[[3]]))
 [1] "0.02" "0.06" "0.11" "0.22" "0.56" "1.1"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_chartr.testchartr2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_chartr.testchartr2#Ignored.Unimplemented#
 #argv <- list('iXs', 'why', 'MiXeD cAsE 123'); .Internal(chartr(argv[[1]], argv[[2]], argv[[3]]))
 [1] "MwheD cAyE 123"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_chartr.testchartr3#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_chartr.testchartr3#Ignored.Unimplemented#
 #argv <- list('a-cX', 'D-Fw', 'MiXeD cAsE 123'); .Internal(chartr(argv[[1]], argv[[2]], argv[[3]]))
 [1] "MiweD FAsE 123"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_chartr.testchartr4#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_chartr.testchartr4#Ignored.Unimplemented#
 #argv <- list('.', '.', character(0)); .Internal(chartr(argv[[1]], argv[[2]], argv[[3]]))
 character(0)
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_chartr.testchartr6#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_chartr.testchartr6#Ignored.Unimplemented#
 #argv <- structure(list(old = 'NA', new = 'na', x = c('NA', NA,     'BANANA')), .Names = c('old', 'new', 'x'));do.call('chartr', argv)
 [1] "na"     NA       "Banana"
 
@@ -13917,7 +13926,7 @@ Error in `class<-`(x, ) : argument 2 is empty
 attr(,"class")
 [1] "first"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign1#Ignored.OutputFormatting#
 #argv <- list(structure(function (x, mode = 'any') .Internal(as.vector(x, mode)), target = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'x', package = 'methods'), defined = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'x', package = 'methods'), generic = character(0), class = structure('MethodDefinition', package = 'methods')), value = structure('MethodDefinition', package = 'methods'));`class<-`(argv[[1]],argv[[2]]);
 function (x, mode = "any")
 .Internal(as.vector(x, mode))
@@ -13946,7 +13955,7 @@ attr(,"class")
 attr(,"class")attr(,"package")
 [1] "methods"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign10#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign10#Output.IgnoreWhitespace#
 #argv <- list(structure(c('o', 'p', 'v', 'i', 'r', 'w', 'b', 'm', 'f', 's'), date = structure(1224086400, class = c('POSIXct', 'POSIXt'), tzone = ''), class = 'stamped'), value = 'stamped');`class<-`(argv[[1]],argv[[2]]);
  [1] "o" "p" "v" "i" "r" "w" "b" "m" "f" "s"
 attr(,"date")
@@ -13954,7 +13963,7 @@ attr(,"date")
 attr(,"class")
 [1] "stamped"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign11#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign11#Ignored.OutputFormatting#
 #argv <- list(structure(3.14159265358979, class = structure('3.14159265358979', class = 'testit')), structure(3.14159265358979, class = structure('3.14159265358979', class = 'testit')));`class<-`(argv[[1]],argv[[2]]);
 [1] 3.141593
 attr(,"class")
@@ -13970,7 +13979,7 @@ attr(,"class")
 attr(,"class")
 [1] "bar"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign13#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign13#Ignored.OutputFormatting#
 #argv <- list(structure(function (qr, y, k = qr$rank) standardGeneric('qr.fitted'), target = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'qr', package = 'methods'), defined = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'qr', package = 'methods'), generic = character(0), class = structure('MethodDefinition', package = 'methods')), value = structure('MethodDefinition', package = 'methods'));`class<-`(argv[[1]],argv[[2]]);
 function (qr, y, k = qr$rank)
 standardGeneric("qr.fitted")
@@ -13999,7 +14008,7 @@ attr(,"class")
 attr(,"class")attr(,"package")
 [1] "methods"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign14#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign14#Ignored.OutputFormatting#
 #argv <- list(structure(function (x = 1, nrow, ncol) standardGeneric('diag'), target = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'x', package = 'methods'), defined = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'x', package = 'methods'), generic = character(0), class = structure('MethodDefinition', package = 'methods')), value = structure('MethodDefinition', package = 'methods'));`class<-`(argv[[1]],argv[[2]]);
 function (x = 1, nrow, ncol)
 standardGeneric("diag")
@@ -14034,7 +14043,7 @@ attr(,"class")attr(,"package")
 attr(,"class")
 [1] "A"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign16#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign16#Ignored.OutputFormatting#
 #argv <- list(structure(function (x, y, ...) standardGeneric('plot'), target = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'x', package = 'methods'), defined = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'x', package = 'methods'), generic = character(0), class = structure('MethodDefinition', package = 'methods')), value = structure('MethodDefinition', package = 'methods'));`class<-`(argv[[1]],argv[[2]]);
 function (x, y, ...)
 standardGeneric("plot")
@@ -14063,7 +14072,7 @@ attr(,"class")
 attr(,"class")attr(,"package")
 [1] "methods"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign17#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign17#Ignored.OutputFormatting#
 #argv <- list(structure(function (x, logarithm = TRUE, ...) UseMethod('determinant'), target = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'x', package = 'methods'), defined = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'x', package = 'methods'), generic = character(0), class = structure('MethodDefinition', package = 'methods')), value = structure('MethodDefinition', package = 'methods'));`class<-`(argv[[1]],argv[[2]]);
 function (x, logarithm = TRUE, ...)
 UseMethod("determinant")
@@ -14092,7 +14101,7 @@ attr(,"class")
 attr(,"class")attr(,"package")
 [1] "methods"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign18#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign18#Ignored.OutputFormatting#
 #argv <- list(structure(function (x, y = NULL) .Internal(crossprod(x, y)), target = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'x', package = 'methods'), defined = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'x', package = 'methods'), generic = character(0), class = structure('MethodDefinition', package = 'methods')), value = structure('MethodDefinition', package = 'methods'));`class<-`(argv[[1]],argv[[2]]);
 function (x, y = NULL)
 .Internal(crossprod(x, y))
@@ -14121,7 +14130,7 @@ attr(,"class")
 attr(,"class")attr(,"package")
 [1] "methods"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign19#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign19#Ignored.OutputFormatting#
 #argv <- list(structure(function (obj, force = FALSE) standardGeneric('unname'), target = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'obj', package = 'methods'), defined = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'obj', package = 'methods'), generic = character(0), class = structure('MethodDefinition', package = 'methods')), value = structure('MethodDefinition', package = 'methods'));`class<-`(argv[[1]],argv[[2]]);
 function (obj, force = FALSE)
 standardGeneric("unname")
@@ -14150,7 +14159,7 @@ attr(,"class")
 attr(,"class")attr(,"package")
 [1] "methods"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign2#Ignored.OutputFormatting#
 #argv <- list(structure(list(c0 = structure(integer(0), .Label = character(0), class = 'factor')), .Names = 'c0', row.names = character(0), class = structure('integer(0)', .Names = 'c0')), structure(list(c0 = structure(integer(0), .Label = character(0), class = 'factor')), .Names = 'c0', row.names = character(0), class = structure('integer(0)', .Names = 'c0')));`class<-`(argv[[1]],argv[[2]]);
 $c0
 factor(0)
@@ -14176,7 +14185,7 @@ character(0)
 attr(,"class")
 [1] "anyC"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign5#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign5#Ignored.OutputFormatting#
 #argv <- list(structure(character(0), .Names = character(0), package = character(0), class = structure('signature', package = 'methods')), value = structure('signature', package = 'methods'));`class<-`(argv[[1]],argv[[2]]);
 named character(0)
 attr(,"package")
@@ -14207,7 +14216,7 @@ attr(,"class")
 #argv <- list(1:3, value = 'numeric');`class<-`(argv[[1]],argv[[2]]);
 [1] 1 2 3
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign9#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_classassign.testclassassign9#Ignored.OutputFormatting#
 #argv <- list(structure(c(1, 0, 0, 0, 1, 0, 0, 0, 1), .Dim = c(3L, 3L), class = structure('mmat2', package = '.GlobalEnv')), value = structure('mmat2', package = '.GlobalEnv'));`class<-`(argv[[1]],argv[[2]]);
      [,1] [,2] [,3]
 [1,]    1    0    0
@@ -14363,7 +14372,7 @@ Error in col(c(1, 2, 3)) :
 #argv <- list(structure(1:5, .Dim = c(5L, 1L), .Dimnames = list(c('1', '2', '3', '4', '5'), 'a')), 5, 1, FALSE); .Internal(colMeans(argv[[1]], argv[[2]], argv[[3]], argv[[4]]))
 [1] 3
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_colMeans.testcolMeans10#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_colMeans.testcolMeans10#Ignored.ImplementationError#
 #argv <- list(structure(c(NA, 30.6929824561403, 25.6929824561403, 18.6929824561403, 6.69298245614035, -6.30701754385965, -13.3070175438597, -24.3070175438597, -21.3070175438597, 3.69298245614035, -2.30701754385965, -1.30701754385965, -20.3070175438597, -17.3070175438597, NA, NA, 12.6929824561403, 0.692982456140349, 0.692982456140349, -5.30701754385965, -11.3070175438597, -19.3070175438597, -10.3070175438597, -17.3070175438597, -20.3070175438597, -32.3070175438597, -24.3070175438597, -33.3070175438597, -31.3070175438597, -24.3070175438597, NA, -24.3070175438597, 2.69298245614035, 17.6929824561403, 18.6929824561403, 3.69298245614035, 14.6929824561403, 4.69298245614035, 14.6929824561403, 0.692982456140349, 14.6929824561403, 11.6929824561403, 22.6929824561403, 16.6929824561403, 19.6929824561403, 14.6929824561403, 10.6929824561403, 18.6929824561403, 22.6929824561403, 5.69298245614035, 6.69298245614035, 0.692982456140349, 3.69298245614035, -7.30701754385965, -8.30701754385965, -4.30701754385965, 0.692982456140349, 5.69298245614035, 4.69298245614035, 9.69298245614035, 14.6929824561403, 5.69298245614035, 4.69298245614035, 0.692982456140349, 15.6929824561403, 26.6929824561403, 14.6929824561403, 21.6929824561403, 22.6929824561403, 14.6929824561403, 5.69298245614035, 17.6929824561403, 19.6929824561403, 7.69298245614035, 5.69298245614035, 0.692982456140349, 23.6929824561403, 16.6929824561403, 12.6929824561403, 12.6929824561403, 14.6929824561403, 7.69298245614035, 12.6929824561403, 5.69298245614035, 6.69298245614035, -10.3070175438597, -0.307017543859651, -12.3070175438597, -12.3070175438597, -4.30701754385965, -18.3070175438597, -10.3070175438597, -20.3070175438597, -7.30701754385965, -21.3070175438597, -12.3070175438597, 2.69298245614035, 8.69298245614035, 8.69298245614035, -0.307017543859651, 9.69298245614035, -3.30701754385965, 4.69298245614035, -4.30701754385965, -5.30701754385965, -8.30701754385965, -2.30701754385965, -7.30701754385965, -7.30701754385965, 4.69298245614035, NA, NA, 11.6929824561403, -12.3070175438597, -16.3070175438597, -29.3070175438597, -28.3070175438597, -31.3070175438597, -32.3070175438597, -32.3070175438597), .Dim = c(120L, 1L), '`scaled:center`' = 56.3070175438597, .Dimnames = list(NULL, 'Series 1'), .Tsp = c(1, 120, 1), class = 'ts'), 120, 1, TRUE); .Internal(colMeans(argv[[1]], argv[[2]], argv[[3]], argv[[4]]))
 [1] -2.929138e-14
 
@@ -14969,7 +14978,7 @@ Warning message:
 In format.data.frame(x, digits = digits, na.encode = FALSE) :
   corrupt data frame: columns will be truncated or padded with NAs
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_copyDFattr.testcopyDFattr13#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_copyDFattr.testcopyDFattr13#Ignored.ReferenceError#
 #argv <- list(structure(list(x = 1:10, y = c(-0.626453810742332, 0.183643324222082, -0.835628612410047, 1.59528080213779, 0.329507771815361, -0.820468384118015, 0.487429052428485, 0.738324705129217, 0.575781351653492, -0.305388387156356), z = structure(c(9L, 3L, 6L, 2L, 10L, 5L, 1L, 4L, 8L, 7L), .Label = c('a', 'c', 'f', 'h', 'i', 'p', 'v', 'x', 'y', 'z'), class = 'factor')), .Names = c('x', 'y', 'z'), row.names = c(NA, 10L), .S3Class = 'data.frame', timestamps = structure(1386392033.84327, class = c('POSIXct', 'POSIXt')), class = structure('myFrame', package = '.GlobalEnv')), structure(list(x = NULL, y = NULL, z = NULL), .Names = c('x', 'y', 'z'), row.names = c(NA, 10L), .S3Class = 'data.frame', timestamps = structure(1386392033.84327, class = c('POSIXct', 'POSIXt')), class = structure('myFrame', package = '.GlobalEnv'))); .Internal(copyDFattr(argv[[1]], argv[[2]]))
 $x
 NULL
@@ -15575,7 +15584,7 @@ In format.data.frame(x, digits = digits, na.encode = FALSE) :
 [1] File     Title    PDF      Depends  Keywords
 <0 rows> (or 0-length row.names)
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_copyDFattr.testcopyDFattr9#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_copyDFattr.testcopyDFattr9#Ignored.ImplementationError#
 #argv <- list(structure(list(Version = c('2.11.0', '2.11.0', '2.11.0', '2.11.0', '2.11.0', '2.11.0', '2.11.0', '2.11.0', '2.11.0'), Date = c(NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_), Category = c('BUG FIXES', 'BUG FIXES', 'BUG FIXES', 'BUG FIXES', 'BUG FIXES', 'BUG FIXES', 'BUG FIXES', 'BUG FIXES', 'BUG FIXES'), Text = c('Using with(), eval() etc with a list with some unnamed elements now\n works.  (PR#14035)', 'cor(A, B) where A is n x 1 and B a 1-dimensional array segfaulted or\n gave an internal error.  (The case cor(B, A) was PR#7116.)', 'cut.POSIXt() applied to a start value after the DST transition on a\n DST-change day could give the wrong time for argument breaks in\n units of days or longer.  (PR#14208)', 'do_par() UNPROTECTed too early (PR#14214)', 'Subassignment x[[....]] <- y didn\'t check for a zero-length right\n hand side, and inserted a rubbish value.  (PR#14217)', 'Extreme tail behavior of, pbeta() {and hence pf()}, e.g., pbeta(x,\n 3, 2200, lower.tail=FALSE, log.p=TRUE) now returns finite values\n instead of jumping to -Inf too early.  (PR#14230).', 'read.fwf() misread multi-line records when n was specified.\n (PR#14241)', 'gzcon( <textConnection> ), an error, no longer damages the\n connection (in a way to have it segfault).  (PR#14237)', 'If xy[z].coords (used internally by many graphics functions) are\n given a list as x, they now check that the list has suitable names\n and give a more informative error message.  (PR#13936)')), .Names = c('Version', 'Date', 'Category', 'Text'), bad = c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE), package = 'R', row.names = c(1473L, 1483L, 1484L, 1485L, 1486L, 1493L, 1499L, 1503L, 1505L), class = c('news_db_from_Rd', 'news_db', 'data.frame')), structure(list(Version = NULL, Date = NULL, Category = NULL, Text = NULL), .Names = c('Version', 'Date', 'Category', 'Text'), bad = c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE), package = 'R', row.names = c(1473L, 1483L, 1484L, 1485L, 1486L, 1493L, 1499L, 1503L, 1505L), class = c('news_db_from_Rd', 'news_db', 'data.frame'))); .Internal(copyDFattr(argv[[1]], argv[[2]]))
 Error in split.default(x = seq_len(nrow(x)), f = f, drop = drop, ...) :
   group length is 0 but data length > 0
@@ -15890,7 +15899,7 @@ Error in cospi() : 0 arguments passed to 'cospi' which requires 1
 #argv <- list(c(-0.560475646552213-0.710406563699301i, -0.23017748948328+0.25688370915653i, 1.55870831414912-0.24669187846237i, 0.070508391424576-0.347542599397733i, 0.129287735160946-0.951618567265016i, 1.71506498688328-0.04502772480892i, 0.460916205989202-0.784904469457076i, -1.26506123460653-1.66794193658814i, -0.686852851893526-0.380226520287762i, -0.445661970099958+0.918996609060766i, 1.22408179743946-0.57534696260839i, 0.359813827057364+0.607964322225033i, 0.40077145059405-1.61788270828916i, 0.11068271594512-0.055561965524539i, -0.555841134754075+0.519407203943462i, 1.78691313680308+0.30115336216671i, 0.497850478229239+0.105676194148943i, -1.96661715662964-0.64070600830538i, 0.701355901563686-0.849704346033582i, -0.47279140772793-1.02412879060491i, -1.06782370598685+0.11764659710013i, -0.217974914658295-0.947474614184802i, -1.02600444830724-0.49055744370067i, -0.72889122929114-0.256092192198247i, -0.62503926784926+1.84386200523221i, -1.68669331074241-0.65194990169546i, 0.837787044494525+0.235386572284857i, 0.153373117836515+0.077960849563711i, -1.13813693701195-0.96185663413013i, 1.25381492106993-0.0713080861236i, 0.42646422147681+1.44455085842335i, -0.295071482992271+0.451504053079215i, 0.895125661045022+0.04123292199294i, 0.878133487533042-0.422496832339625i, 0.82158108163749-2.05324722154052i, 0.68864025410009+1.13133721341418i, 0.55391765353759-1.46064007092482i, -0.061911710576722+0.739947510877334i, -0.30596266373992+1.90910356921748i, -0.38047100101238-1.4438931609718i, -0.694706978920513+0.701784335374711i, -0.207917278019599-0.262197489402468i, -1.26539635156826-1.57214415914549i, 2.16895596533851-1.51466765378175i, 1.20796199830499-1.60153617357459i, -1.12310858320335-0.5309065221703i, -0.40288483529908-1.4617555849959i, -0.466655353623219+0.687916772975828i, 0.77996511833632+2.10010894052567i, -0.08336906647183-1.28703047603518i, 0.253318513994755+0.787738847475178i, -0.028546755348703+0.76904224100091i, -0.042870457291316+0.332202578950118i, 1.36860228401446-1.00837660827701i, -0.225770985659268-0.119452606630659i, 1.51647060442954-0.28039533517025i, -1.54875280423022+0.56298953322048i, 0.584613749636069-0.372438756103829i, 0.123854243844614+0.976973386685621i, 0.215941568743973-0.374580857767014i, 0.37963948275988+1.05271146557933i, -0.5023234531093-1.04917700666607i, -0.33320738366942-1.26015524475811i, -1.01857538310709+3.2410399349424i, -1.07179122647558-0.41685758816043i, 0.303528641404258+0.298227591540715i, 0.448209778629426+0.636569674033849i, 0.053004226730504-0.483780625708744i, 0.922267467879738+0.516862044313609i, 2.05008468562714+0.36896452738509i, -0.491031166056535-0.215380507641693i, -2.30916887564081+0.06529303352532i, 1.00573852446226-0.03406725373846i, -0.70920076258239+2.12845189901618i, -0.688008616467358-0.741336096272828i, 1.0255713696967-1.09599626707466i, -0.284773007051009+0.037788399171079i, -1.22071771225454+0.31048074944314i, 0.18130347974915+0.436523478910183i, -0.138891362439045-0.458365332711106i, 0.00576418589989-1.06332613397119i, 0.38528040112633+1.26318517608949i, -0.370660031792409-0.349650387953555i, 0.644376548518833-0.865512862653374i, -0.220486561818751-0.236279568941097i, 0.331781963915697-0.197175894348552i, 1.09683901314935+1.10992028971364i, 0.435181490833803+0.084737292197196i, -0.325931585531227+0.754053785184521i, 1.14880761845109-0.49929201717226i, 0.993503855962119+0.214445309581601i, 0.54839695950807-0.324685911490835i, 0.238731735111441+0.094583528173571i, -0.627906076039371-0.895363357977542i, 1.36065244853001-1.31080153332797i, -0.60025958714713+1.99721338474797i, 2.18733299301658+0.60070882367242i, 1.53261062618519-1.25127136162494i, -0.235700359100477-0.611165916680421i, -1.02642090030678-1.18548008459731i));cospi(argv[[1]]);
 Error in cospi(argv[[1]]) : unimplemented complex function
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_cospi.testcos7#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_cospi.testcos7#Output.MissingWarning#
 #argv <- list(Inf);cospi(argv[[1]]);
 [1] NaN
 Warning message:
@@ -16089,7 +16098,7 @@ Error in crossprod(x, y) :
 [2,] 0.2495078 0.2546574 0.3491333
 [3,] 0.6736018 0.3491333 0.6084268
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_crossprod.testCrossprod#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_crossprod.testCrossprod#Ignored.ImplementationError#
 #{ x <- matrix(c(NaN,2+3i,3,4+1i,5,NA), nrow=3); crossprod(x) }
          [,1]     [,2]
 [1,] NaN+NaNi NaN+NaNi
@@ -16110,7 +16119,7 @@ Error in crossprod(x, y) :
 [4,]    2    2    2    2    2    2
 [5,]    2    2    2    2    2    2
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_crossprod.testcrossprod2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_crossprod.testcrossprod2#Ignored.ImplementationError#
 #argv <- list(numeric(0), numeric(0)); .Internal(crossprod(argv[[1]], argv[[2]]))
      [,1]
 [1,]    0
@@ -16144,7 +16153,7 @@ Error in crossprod(x, y) :
 [1,] 0.000000000  -2.539995
 [2,] 0.004701819 -15.927030
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_crossprod.testcrossprod8#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_crossprod.testcrossprod8#Ignored.ImplementationError#
 #argv <- list(structure(c(-0.0972759604917099, -0.0972759604917099, -0.197781705719934, -0.197781705719934, -0.258476920906799, -0.258476920906799, -0.31681058743414, -0.31681058743414, -0.36711291168933, -0.36711291168933, -0.386611727075222, -0.386611727075222, -0.339690730499459, -0.33969073049946, -0.392353467475584, -0.392353467475584, -0.277328754578855, -0.277328754578855, -0.062581948827679, -0.062581948827679, 0.204605005658209, 0.204605005658209, 0.32860008733551, 0.32860008733551, 0.504748197638673, 0.504748197638673, 0.0398546163039329, 0.039854616303933, -0.269613788250837, -0.269613788250837, -0.312096598983548, -0.312096598983548, 0.0190548270250438, 0.0190548270250438, 0.270521530002251, 0.270521530002251), .Dim = c(12L, 3L)), structure(c(-2.82631170793264, -2.82631170793264, -3.89457420977924, -3.89457420977924, -3.62818861156626, -3.62818861156626, -2.72530862462141, -2.72530862462141, -1.437640468988, -1.437640468988, -0.811701520293695, -0.811701520293695, 14291.543903102, 14291.543903102, 13346.8386233407, 13346.8386233407, 8863.44390274002, 8863.44390274002, 4080.15117667984, 4080.15117667984, 979.818149952962, 979.818149952962, 296.593928028368, 296.593928028368), .Dim = c(12L, 2L), .Dimnames = list(NULL, c('Vm', 'K')))); .Internal(crossprod(argv[[1]], argv[[2]]))
                Vm          K
 [1,] 7.376014e+00 -16175.971
@@ -16432,7 +16441,7 @@ numeric(0)
 #{ cumsum(as.raw(1:6)) }
 [1]  1  3  6 10 15 21
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_cumsum.testCumulativeSum#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_cumsum.testCumulativeSum#Output.MissingWarning#
 #{ cumsum(c(-2147483647L, -1L)) }
 [1] -2147483647          NA
 Warning message:
@@ -16462,7 +16471,7 @@ integer overflow in 'cumsum'; use 'cumsum(as.numeric(.))'
 #{ cumsum(c(1e308, 1e308, NA, 1, 2)) }
 [1] 1e+308    Inf     NA     NA     NA
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_cumsum.testCumulativeSum#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_cumsum.testCumulativeSum#Output.MissingWarning#
 #{ cumsum(c(2000000000L, 2000000000L)) }
 [1] 2000000000         NA
 Warning message:
@@ -16743,7 +16752,7 @@ character(0)
 #argv <- structure(list(x = c('A', 'B', 'C', NA)), .Names = 'x');do.call('data.class', argv)
 [1] "character"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_date.testDate#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_date.testDate#Ignored.OutputFormatting#
 #{date()}
 [1] "Wed Nov  9 20:10:56 2016"
 
@@ -20087,7 +20096,7 @@ Warning message:
 In dotchart(table(infert$education)) :
   x is neither a vector nor a matrix: using as.numeric(x)
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_dfltWarn.testdfltWarn11#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_dfltWarn.testdfltWarn11#
 #argv <- list('Invalid file name(s) for R code in ./myTst/R:\n  file55711ba85492\n are now renamed to z<name>.R', quote(package.skeleton('myTst', code_files = tmp))); .Internal(.dfltWarn(argv[[1]], argv[[2]]))
 NULL
 Warning message:
@@ -21600,7 +21609,7 @@ Error: object 'x' not found
 [2,]    2    5    8   11
 [3,]    3    6    9   12
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_dimassign.testdimassign8#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_dimassign.testdimassign8#Ignored.Unimplemented#
 #argv <- list(NULL, NULL);`dim<-`(argv[[1]],argv[[2]]);
 NULL
 
@@ -22077,8 +22086,8 @@ a 1259  845  719  390
 b 1360 1053  774  413
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_dir.testdir1#Ignored.Unknown#
-#argv <- structure(list(path = '.', pattern = 'myTst_.*tar\.gz$'),     .Names = c('path', 'pattern'));do.call('dir', argv)
-Error: '\.' is an unrecognized escape in character string starting "'myTst_.*tar\."
+#argv <- structure(list(path = '.', pattern = 'myTst_.*tar[.]gz$'),     .Names = c('path', 'pattern'));do.call('dir', argv)
+character(0)
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_dircreate.testdircreate1#Ignored.SideEffects#
 #argv <- list('/home/lzhao/tmp/RtmptS6o2G/translations', FALSE, FALSE, structure(511L, class = 'octmode')); .Internal(dir.create(argv[[1]], argv[[2]], argv[[3]], argv[[4]]))
@@ -24083,19 +24092,19 @@ logical(0)
 #argv <- list(character(0), character(0)); .Internal(file.rename(argv[[1]], argv[[2]]))
 logical(0)
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_findInterval.testfindInterval1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_findInterval.testfindInterval1#Ignored.Unimplemented#
 #argv <- list(c(1, 2, 3, 4, 5, 6, 7, 8, 9), c(3, 3.25, 3.5, 3.75, 4, 4.25, 4.5, 4.75, 5, 5.25, 5.5, 5.75, 6), FALSE, FALSE); .Internal(findInterval(argv[[1]], argv[[2]], argv[[3]], argv[[4]]))
 Error: 4 arguments passed to .Internal(findInterval) which requires 5
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_findInterval.testfindInterval2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_findInterval.testfindInterval2#Ignored.Unimplemented#
 #argv <- list(NA_real_, NA_real_, FALSE, FALSE); .Internal(findInterval(argv[[1]], argv[[2]], argv[[3]], argv[[4]]))
 Error: 4 arguments passed to .Internal(findInterval) which requires 5
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_findInterval.testfindInterval3#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_findInterval.testfindInterval3#Ignored.Unimplemented#
 #argv <- list(numeric(0), numeric(0), FALSE, FALSE); .Internal(findInterval(argv[[1]], argv[[2]], argv[[3]], argv[[4]]))
 Error: 4 arguments passed to .Internal(findInterval) which requires 5
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_findInterval.testfindInterval4#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_findInterval.testfindInterval4#Ignored.Unimplemented#
 #argv <- list(c(5, 10, 15), c(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18), FALSE, FALSE); .Internal(findInterval(argv[[1]], argv[[2]], argv[[3]], argv[[4]]))
 Error: 4 arguments passed to .Internal(findInterval) which requires 5
 
@@ -24505,7 +24514,7 @@ character(0)
 #argv <- structure(list(x = structure(integer(0), class = 'AsIs')),     .Names = 'x');do.call('format.AsIs', argv)
 character(0)
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_formatC.testformatC1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_formatC.testformatC1#Ignored.ImplementationError#
 #argv <- list(c(3.14159265358979, 3.1415926535898, 1), 'double', 10, 4L, 'g', '', c(12L, 12L, 12L)); .Internal(formatC(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))
 [1] "     3.142" "     3.142" "         1"
 
@@ -24526,22 +24535,22 @@ character(0)
  [1] "0.00003142" "0.0003142"  "0.003142"   "0.03142"    "0.3142"
  [6] "3.142"      "31.42"      "314.2"      " 3142"      "31416"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_formatC.testformatC14#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_formatC.testformatC14#Ignored.ReferenceError#
 #argv <- list(structure(c(1962.25, 1962.5, 1962.75, 1963, 1963.25, 1963.5, 1963.75, 1964, 1964.25, 1964.5, 1964.75, 1965, 1965.25, 1965.5, 1965.75, 1966, 1966.25, 1966.5, 1966.75, 1967, 1967.25, 1967.5, 1967.75, 1968, 1968.25, 1968.5, 1968.75, 1969, 1969.25, 1969.5, 1969.75, 1970, 1970.25, 1970.5, 1970.75, 1971, 1971.25, 1971.5, 1971.75), .Tsp = c(1962.25, 1971.75, 4), class = 'ts'), 'double', 1, 4L, 'g', '', c(12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L)); .Internal(formatC(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))
  [1] "1962" "1962" "1963" "1963" "1963" "1964" "1964" "1964" "1964" "1964"
 [11] "1965" "1965" "1965" "1966" "1966" "1966" "1966" "1966" "1967" "1967"
 [21] "1967" "1968" "1968" "1968" "1968" "1968" "1969" "1969" "1969" "1970"
 [31] "1970" "1970" "1970" "1970" "1971" "1971" "1971" "1972" "1972"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_formatC.testformatC2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_formatC.testformatC2#Ignored.ImplementationError#
 #argv <- list(1, 'double', 8, 5, 'g', '-', 13); .Internal(formatC(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))
 [1] "1       "
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_formatC.testformatC3#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_formatC.testformatC3#Ignored.ImplementationError#
 #argv <- list(structure(c(1.5, 13.3414265412268, 1e-15, 8, 1, 500, 28), .Dim = c(7L, 1L), .Dimnames = list(c('m.ship.expon.', 'objective', 'tolerance', 'iterations', 'converged', 'maxit', 'n'), ' ')), 'double', 8L, 7L, 'g', '', c(15L, 15L, 15L, 15L, 15L, 15L, 15L)); .Internal(formatC(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))
 [1] "     1.5" "13.34143" "   1e-15" "       8" "       1" "     500" "      28"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_formatC.testformatC4#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_formatC.testformatC4#Ignored.ImplementationError#
 #argv <- list(c(1000, 1e+07, 1), 'double', 5, 4L, 'g', '', c(12L, 12L, 12L)); .Internal(formatC(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))
 [1] " 1000" "1e+07" "    1"
 
@@ -24561,7 +24570,7 @@ character(0)
 #argv <- list(structure(48.4333681840033, .Names = 'value'), 'double', 5L, 4L, 'g', '', 12L); .Internal(formatC(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))
 [1] "48.43"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_formatC.testformatC9#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_formatC.testformatC9#Ignored.ImplementationError#
 #argv <- list(c(0.0599, 0.00599, 0.000599, 5.99e-05, 5.99e-06, 5.99e-07), 'double', 3, -2, 'fg', '#', c(10, 11, 12, 13, 14, 15)); .Internal(formatC(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))
 [1] "0.060"      "0.0060"     "0.00060"    "0.000060"   "0.0000060"
 [6] "0.00000060"
@@ -24695,7 +24704,7 @@ In gamma(argv[[1]]) : NaNs produced
 Warning message:
 In gamma(argv[[1]]) : NaNs produced
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_gamma.testgamma3#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_gamma.testgamma3#Ignored.Unimplemented#
 #argv <- list(structure(numeric(0), .Dim = c(0L, 0L)));gamma(argv[[1]]);
 <0 x 0 matrix>
 
@@ -24751,11 +24760,11 @@ In gamma(argv[[1]]) : NaNs produced
 Warning message:
 In gamma(argv[[1]]) : NaNs produced
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_gcinfo.testgcinfo1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_gcinfo.testgcinfo1#Ignored.Unimplemented#
 #argv <- list(list()); .Internal(gcinfo(argv[[1]]))
 [1] FALSE
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_gcinfo.testgcinfo2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_gcinfo.testgcinfo2#Ignored.Unimplemented#
 #argv <- list(FALSE); .Internal(gcinfo(argv[[1]]))
 [1] FALSE
 
@@ -25541,7 +25550,7 @@ logical(0)
 #argv <- list('\n', '\nqr(x, ...)\nqrR(qr, complete=FALSE, backPermute=TRUE)\n', FALSE, FALSE, FALSE, TRUE, FALSE, FALSE); .Internal(grepl(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]], argv[[8]]))
 [1] TRUE
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_growconst.testgrowconst1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_growconst.testgrowconst1#Ignored.Unimplemented#
 #argv <- list(list(list())); .Internal(growconst(argv[[1]]))
 [[1]]
 list()
@@ -25944,7 +25953,7 @@ Error: 'x' must be a character vector
 #argv <- list('Report Information on C Stack Size and Usage', 'UTF-8', '', 'byte', FALSE, FALSE); .Internal(iconv(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))
 [1] "Report Information on C Stack Size and Usage"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_iconv.testiconv2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_iconv.testiconv2#Ignored.ImplementationError#
 #argv <- list('façile'   , 'latin1', 'ASCII', NA_character_, TRUE, FALSE); .Internal(iconv(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))
 [1] NA
 
@@ -26015,21 +26024,21 @@ Error: 'x' must be a character vector
 #argv <- list(character(0), 'latin1', 'ASCII', NA_character_, TRUE, FALSE); .Internal(iconv(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))
 character(0)
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_iconv.testiconv6#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_iconv.testiconv6#Ignored.ImplementationError#
 #argv <- list(list(), 'latin1', 'ASCII', NA_character_, TRUE, FALSE); .Internal(iconv(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))
 character(0)
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_iconv.testiconv7#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_iconv.testiconv7#Ignored.ImplementationError#
 #argv <- list('façile'   , 'latin1', 'ASCII', '', TRUE, FALSE); .Internal(iconv(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))
 [1] "faile"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_iconv.testiconv8#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_iconv.testiconv8#Ignored.ImplementationError#
 #argv <- list(structure('Prediction matrix for soap film smooth', Rd_tag = 'TEXT'), 'UTF-8', 'ASCII', NA_character_, FALSE, FALSE); .Internal(iconv(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))
 [1] "Prediction matrix for soap film smooth"
 attr(,"Rd_tag")
 [1] "TEXT"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_iconv.testiconv9#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_iconv.testiconv9#Ignored.ImplementationError#
 #argv <- list(structure(c('Q.1 Opinion of presidents job performance', 'Q.1 Opinion of presidents job performance', 'Q.1 Opinion of presidents job performance', 'Q.1 Opinion of presidents job performance', 'Q.1 Opinion of presidents job performance', 'Q.1 Opinion of presidents job performance', 'Q.1 Opinion of presidents job performance', 'Q.1 Opinion of presidents job performance', 'Q.1 Opinion of presidents job performance', 'Q.1 Opinion of presidents job performance'), .Names = c('Q1_MISSING_NONE', 'Q1_MISSING_1', 'Q1_MISSING_2', 'Q1_MISSING_3', 'Q1_MISSING_RANGE', 'Q1_MISSING_LOW', 'Q1_MISSING_HIGH', 'Q1_MISSING_RANGE_1', 'Q1_MISSING_LOW_1', 'Q1_MISSING_HIGH_1')), 'latin1', '', NA_character_, TRUE, FALSE); .Internal(iconv(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))
                             Q1_MISSING_NONE
 "Q.1 Opinion of presidents job performance"
@@ -29429,10 +29438,14 @@ logical(0)
 #argv <- list(structure(c(39.7, 27.7, 43.5, 89.7, 70.2, 63.5, 36.5, 15.2, 35.3, 45.2, 1.2, 49.5, 63.1, 34, 17, 17.6, 67.8, 45.1, 50.9, 64.9, 59.8, 73, 37.6, 60.7, 60.8, 69.3, 71.2, 64.5, 75.9, 7.7, 72.6, 18.7, 78.2, 55.1, 58.1, 62, 53.3, 85.9, 67.5, 16.7, 46.6, 84.9, 19.4, 38.4, 5, 22, 17, 5, 16, 6, 12, 31, 9, 16, 37, 15, 13, 17, 15, 35, 14, 6, 22, 7, 22, 19, 15, 19, 16, 22, 12, 14, 9, 29, 18, 25, 12, 14, 14, 21, 12, 3, 14, 22, 16, 7, 26, 26, 5, 29, 15, 2, 7, 3, 7, 20, 7, 13, 53, 8, 13, 8, 12, 32, 8, 9, 12, 3, 10, 9, 7, 12, 10, 5, 1, 6, 9, 11, 2, 7, 6, 3, 8, 12, 7, 2, 7, 13, 29, 6, 28, 12, 93.4, 58.33, 5.16, 100, 92.85, 2.56, 33.77, 2.15, 90.57, 91.38, 42.34, 6.1, 96.83, 3.3, 9.96, 16.92, 97.16, 84.84, 15.14, 98.22, 5.23, 2.84, 4.97, 4.43, 7.72, 2.82, 2.4, 98.61, 99.06, 13.79, 24.2, 8.65, 98.96, 4.52, 5.23, 8.52, 97.67, 99.71, 2.27, 11.22, 50.43, 99.68, 12.11, 5.62, 20.2, 19.3, 20.6, 18.3, 23.6, 18, 20.3, 10.8, 26.6, 24.4, 18, 22.5, 18.1, 20, 22.2, 23, 24.9, 22.2, 16.7, 20.2, 18, 20, 20, 22.7, 16.3, 18.7, 21, 24.5, 17.8, 20.5, 21.2, 19.5, 19.4, 22.4, 23.8, 16.5, 21, 15.1, 19.1, 18.9, 18.2, 19.8, 20.2, 20.3), .Dim = c(44L, 5L), .Dimnames = list(c('Franches-Mnt', 'Rive Gauche', 'Neuveville', 'Herens', 'Broye', 'Paysd\'enhaut', 'Moutier', 'La Vallee', 'Porrentruy', 'Sarine', 'V. De Geneve', 'Yverdon', 'Sion', 'Grandson', 'Courtelary', 'Neuchatel', 'Glane', 'Delemont', 'Nyone', 'Monthey', 'Morges', 'Lavaux', 'Val de Ruz', 'Avenches', 'Rolle', 'Cossonay', 'Oron', 'Veveyse', 'St Maurice', 'La Chauxdfnd', 'Echallens', 'ValdeTravers', 'Martigwy', 'Moudon', 'Payerne', 'Aigle', 'Gruyere', 'Conthey', 'Aubonne', 'Le Locle', 'Rive Droite', 'Entremont', 'Lausanne', 'Boudry'), c('Agriculture', 'Examination', 'Education', 'Catholic', 'Infant.Mortality'))));is.numeric(argv[[1]]);
 [1] TRUE
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_isnumeric.testisnumeric14#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_isnumeric.testisnumeric14#Ignored.ImplementationError#
 #argv <- list(structure(c(1386439154.20645, 1386469154.20645, 1386499154.20645, 1386529154.20645, 1386559154.20645, 1386589154.20645, 1386619154.20645, 1386649154.20645, 1386679154.20645, 1386709154.20645, 1386739154.20645, 1386769154.20645, 1386799154.20645, 1386829154.20645, 1386859154.20645, 1386889154.20645, 1386919154.20645, 1386949154.20645, 1386979154.20645, 1387009154.20645, 1387039154.20645, 1387069154.20645, 1387099154.20645, 1387129154.20645, 1387159154.20645, 1387189154.20645, 1387219154.20645, 1387249154.20645, 1387279154.20645, 1387309154.20645, 1387339154.20645, 1387369154.20645, 1387399154.20645, 1387429154.20645), class = c('POSIXct', 'POSIXt')));is.numeric(argv[[1]]);
 [1] FALSE
 
+##com.oracle.truffle.r.test.builtins.TestBuiltin_isnumeric.testisnumeric14#Ignored.ImplementationError#
+#is.numeric(structure(1L, class = c('POSIXct', 'POSIXt')))
+[1] FALSE
+
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_isnumeric.testisnumeric15#
 #argv <- list(c('2001-01-01', NA, NA, '2004-10-26'));is.numeric(argv[[1]]);
 [1] FALSE
@@ -29453,7 +29466,7 @@ logical(0)
 #argv <- list(structure(c(79.5323303457107, 6, 86.1989970123773, 6, 69.7732394366197, 5, 98.0323303457106, 6, 108.032330345711, 6, 89.1989970123773, 6, 114.198997012377, 6, 116.698997012377, 6, 110.365663679044, 6, 124.365663679044, 6, 126.365663679044, 6, 118.032330345711, 6), .Dim = c(6L, 4L), .Dimnames = structure(list(V = c('Golden.rain', 'rep        ', 'Marvellous ', 'rep        ', 'Victory    ', 'rep        '), N = c('0.0cwt', '0.2cwt', '0.4cwt', '0.6cwt')), .Names = c('V', 'N'))));is.numeric(argv[[1]]);
 [1] TRUE
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_isnumeric.testisnumeric2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_isnumeric.testisnumeric2#Ignored.ImplementationError#
 #argv <- list(structure(c(12784, 12874, 12965, 13057, 13149, 13239, 13330, 13422, 13514, 13604, 13695, 13787, 13879, 13970, 14061, 14153, 14245, 14335), class = 'Date'));is.numeric(argv[[1]]);
 [1] FALSE
 
@@ -29461,7 +29474,7 @@ logical(0)
 #argv <- list(structure(numeric(0), .Dim = c(3L, 0L)));is.numeric(argv[[1]]);
 [1] TRUE
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_isnumeric.testisnumeric21#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_isnumeric.testisnumeric21#Ignored.ImplementationError#
 #argv <- list(structure(16146, class = 'Date'));is.numeric(argv[[1]]);
 [1] FALSE
 
@@ -29469,7 +29482,7 @@ logical(0)
 #argv <- list(structure(c(-3.001e+155, -1.067e+107, -1.976e+62, -9.961e+152, -2.059e+23, 0.5104), .Names = c('Min.', '1st Qu.', 'Median', 'Mean', '3rd Qu.', 'Max.'), class = c('summaryDefault', 'table')));is.numeric(argv[[1]]);
 [1] TRUE
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_isnumeric.testisnumeric24#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_isnumeric.testisnumeric24#Ignored.ImplementationError#
 #argv <- list(structure(16352, class = 'Date'));do.call('is.numeric', argv)
 [1] FALSE
 
@@ -29813,7 +29826,7 @@ Error in is.unsorted(x, strictly) : invalid 'strictly' argument
 #argv <- structure(list(x = c(1L, 2L, 3L, 5L, 5L, 6L, 6L, 7L,     7L, 7L, 7L, 7L, 8L, 8L, 9L, 9L, 10L, 12L, 12L, 12L, 12L,     13L, 15L, 20L, 28L)), .Names = 'x');do.call('is.unsorted', argv)
 [1] FALSE
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_isunsorted.testisunsorted14#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_isunsorted.testisunsorted14#Ignored.ImplementationError#
 #argv <- structure(list(x = structure(list(x = 3:4, y = 1:2),     .Names = c('x', 'y'), row.names = c(NA, -2L), class = 'data.frame')),     .Names = 'x');do.call('is.unsorted', argv)
 [1] TRUE
 
@@ -29841,7 +29854,7 @@ Error in is.unsorted(x, strictly) : invalid 'strictly' argument
 #argv <- list(c(1, 2, 3, 2), FALSE); .Internal(is.unsorted(argv[[1]], argv[[2]]))
 [1] TRUE
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_isunsorted.testisunsorted7#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_isunsorted.testisunsorted7#Ignored.ImplementationError#
 #argv <- list(structure(list(c0 = structure(integer(0), .Label = character(0), class = 'factor')), .Names = 'c0', row.names = character(0), class = structure('integer(0)', .Names = 'c0')), FALSE); .Internal(is.unsorted(argv[[1]], argv[[2]]))
 [1] FALSE
 
@@ -30517,7 +30530,7 @@ NULL
  1  2  3  4  5
 51 57 45 NA NA
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_lbeta.testlbeta1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_lbeta.testlbeta1#Ignored.Unimplemented#
 #argv <- list(FALSE, FALSE); .Internal(lbeta(argv[[1]], argv[[2]]))
 [1] Inf
 
@@ -31353,14 +31366,14 @@ Error in lgamma(as.raw(1)) :
 #{ lgamma(c(100, 2.2)) }
 [1] 359.13420537   0.09694747
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_lgamma.testlgamma1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_lgamma.testlgamma1#Ignored.OutputFormatting#
 #argv <- list(structure(c(2, 1, 1, 1, 3, 1, 1, 1, 4), .Dim = c(3L, 3L)));lgamma(argv[[1]]);
      [,1]      [,2]     [,3]
 [1,]    0 0.0000000 0.000000
 [2,]    0 0.6931472 0.000000
 [3,]    0 0.0000000 1.791759
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_lgamma.testlgamma2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_lgamma.testlgamma2#Ignored.ImplementationError#
 #argv <- list(structure(c(2, 3, 2, 1, 4, 4, 7, 2, 11, 11, 15, 10, 7, 8, 13, 12), .Dim = c(4L, 4L), .Dimnames = structure(list(income = c('< 15k', '15-25k', '25-40k', '> 40k'), satisfaction = c('VeryD', 'LittleD', 'ModerateS', 'VeryS')), .Names = c('income', 'satisfaction'))));lgamma(argv[[1]]);
         satisfaction
 income       VeryD  LittleD ModerateS     VeryS
@@ -33007,7 +33020,7 @@ character(0)
 #argv <- list('mgcv', NULL, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE); .Internal(list.files(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]], argv[[8]]))
 character(0)
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_lm.test#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_lm.test#Ignored.ImplementationError#
 #require(stats); lm(data = structure(list(y = c(43, 63, 71, 61, 81, 43, 58, 71, 72, 67, 64, 67, 69, 68, 77, 81, 74, 65, 65, 50, 50, 64, 53, 40, 63, 66, 82), x1 = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), x2 = c(51, 64, 70, 63, 78, 55, 67, 75, 82, 61, 53, 60, 62, 83, 77, 90, 85, 60, 70, 58, 40, 61, 66, 37, 54, 77, 82), x3 = c(30, 51, 68, 45, 56, 49, 42, 50, 72, 45, 53, 47, 57, 83, 54, 50, 64, 65, 46, 68, 33, 52, 52, 42, 42, 66, 39), x4 = c(47, 45, 48, 39, 57, 69, 66, 50, 59, 45, 72, 50, 59, 44, 75, 39, 45, 62, 47, 74, 75, 67, 47, 58, 54, 66, 62), x5 = c(61, 63, 76, 54, 71, 54, 66, 70, 71, 62, 58, 59, 55, 59, 79, 60, 79, 55, 75, 64, 43, 66, 63, 50, 66, 88, 64), x6 = c(92, 73, 86, 84, 83, 49, 68, 66, 83, 80, 67, 74, 63, 77, 77, 54, 79, 80, 85, 78, 64, 80, 80, 57, 75, 76, 78), x7 = c(45, 47, 48, 35, 47, 34, 35, 41, 31, 41, 34, 41, 25, 35, 46, 36, 63, 60, 46, 52, 33, 41, 37, 49, 33, 72, 39)), .Names = c('y', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7'), row.names = c('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '30'), class = 'data.frame'), formula = y ~ . + 0)
 
 Call:
@@ -34840,7 +34853,7 @@ Residuals NA     NA      NA      NA     NA
 [1,]    1    3
 [2,]    2    4
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_matrix.testmatrix13#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_matrix.testmatrix13#Output.MissingWarning#
 #argv <- list(c(0, 0, 0, 0), 4L, 0L, FALSE, NULL, FALSE, FALSE); .Internal(matrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))
 
 [1,]
@@ -34850,6 +34863,22 @@ Residuals NA     NA      NA      NA     NA
 Warning message:
 data length exceeds size of matrix
 
+##com.oracle.truffle.r.test.builtins.TestBuiltin_matrix.testmatrix13#
+#matrix(1:4, 2, 1)
+     [,1]
+[1,]    1
+[2,]    2
+
+##com.oracle.truffle.r.test.builtins.TestBuiltin_matrix.testmatrix13#Output.MissingWarning#
+#matrix(1:4, 4, 0)
+
+[1,]
+[2,]
+[3,]
+[4,]
+Warning message:
+In matrix(1:4, 4, 0) : data length exceeds size of matrix
+
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_matrix.testmatrix14#
 #argv <- list(0+0i, 7L, 2L, FALSE, NULL, FALSE, FALSE); .Internal(matrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))
      [,1] [,2]
@@ -35303,7 +35332,7 @@ Nissan Van 4                    24.81481   22.46154   20.22222   20.22222
 #argv <- list(structure(logical(0), .Dim = c(1L, 0L), .Dimnames = list('r', NULL)), 0L, 0L, FALSE, NULL, FALSE, FALSE); .Internal(matrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))
 <0 x 0 matrix>
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_matrix.testmatrix36#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_matrix.testmatrix36#
 #argv <- list(c(0, 0, 0, 0, 0, 0, 4.94065645841247e-324, 0, 0, 0, 0, 0), structure(12L, .Names = '1'), 1L, FALSE, NULL, FALSE, FALSE); .Internal(matrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))
                [,1]
  [1,]  0.000000e+00
@@ -35319,7 +35348,7 @@ Nissan Van 4                    24.81481   22.46154   20.22222   20.22222
 [11,]  0.000000e+00
 [12,]  0.000000e+00
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_matrix.testmatrix37#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_matrix.testmatrix37#Output.MissingWarning#
 #argv <- list(1:7, 3, 4, FALSE, NULL, FALSE, FALSE); .Internal(matrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))
      [,1] [,2] [,3] [,4]
 [1,]    1    4    7    3
@@ -35336,7 +35365,7 @@ data length [7] is not a sub-multiple or multiple of the number of rows [3]
 [3,]    2    3   -3    5
 [4,]   -2    3    2    1
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_matrix.testmatrix39#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_matrix.testmatrix39#Output.MissingWarning#
 #argv <- list(c(-1, 4, 4, 9, 5, 1, 4, 8, 8, 2, 6, 0, 2, 3, 8, 8, 4, 4, 2, 3, 4, 0, -1, 7, 2, 4, 2, 3, 5, 6, 6, 5, 4, 3, 7, -1, 3, 1, -1, 2, 32, 1, 4, 4), 2L, 5L, FALSE, NULL, FALSE, FALSE); .Internal(matrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))
      [,1] [,2] [,3] [,4] [,5]
 [1,]   -1    4    5    4    8
@@ -35938,7 +35967,7 @@ In mean.default(x = c(2L, 1L, 2L, 2L)) :
 #argv <- structure(list(x = structure(c(31, NA, NA, 31), units = 'days',     class = 'difftime'), na.rm = TRUE), .Names = c('x', 'na.rm'));do.call('mean.difftime', argv)
 Time difference of 31 days
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_memDecompress.testmemDecompress1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_memDecompress.testmemDecompress1#Ignored.Unimplemented#
 #argv <- structure(list(from = as.raw(c(253, 55, 122, 88, 90,     0, 0, 1, 105, 34, 222, 54, 2, 0, 33, 1, 28, 0, 0, 0, 16,     207, 88, 204, 224, 7, 207, 0, 28, 93, 0, 24, 140, 130, 182,     196, 17, 52, 92, 78, 225, 221, 115, 179, 63, 98, 20, 119,     183, 90, 101, 43, 5, 112, 179, 75, 69, 222, 0, 0, 155, 136,     185, 16, 0, 1, 52, 208, 15, 0, 0, 0, 105, 254, 40, 141, 62,     48, 13, 139, 2, 0, 0, 0, 0, 1, 89, 90)), type = 'xz', asChar = TRUE),     .Names = c('from', 'type', 'asChar'));do.call('memDecompress', argv)
 [1] "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"
 
@@ -36302,7 +36331,7 @@ In min(as.double(NA), na.rm = TRUE) :
 #{ min(as.integer(NA), as.integer(NA), na.rm=FALSE) }
 [1] NA
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_min.testMinimum#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_min.testMinimum#Ignored.ImplementationError#Output.IgnoreWarningContext#
 #{ min(as.integer(NA), as.integer(NA), na.rm=TRUE) }
 [1] Inf
 Warning message:
@@ -36313,7 +36342,7 @@ In min(as.integer(NA), as.integer(NA), na.rm = TRUE) :
 #{ min(as.integer(NA), na.rm=FALSE) }
 [1] NA
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_min.testMinimum#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_min.testMinimum#Ignored.ImplementationError#Output.IgnoreWarningContext#
 #{ min(as.integer(NA), na.rm=TRUE) }
 [1] Inf
 Warning message:
@@ -36360,13 +36389,13 @@ In min(double()) : no non-missing arguments to min; returning Inf
 Warning message:
 In min(double(0)) : no non-missing arguments to min; returning Inf
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_min.testMinimum#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_min.testMinimum#Ignored.ImplementationError#Output.IgnoreWarningContext#
 #{ min(integer()) }
 [1] Inf
 Warning message:
 In min(integer()) : no non-missing arguments to min; returning Inf
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_min.testMinimum#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_min.testMinimum#Ignored.ImplementationError#Output.IgnoreWarningContext#
 #{ min(integer(0)) }
 [1] Inf
 Warning message:
@@ -37929,7 +37958,7 @@ NULL
 #argv <- list(list(), NULL);`oldClass<-`(argv[[1]],argv[[2]]);
 list()
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_oldClassassign.testoldClassassign2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_oldClassassign.testoldClassassign2#Ignored.ImplementationError#
 #argv <- list(NULL, NULL);`oldClass<-`(argv[[1]],argv[[2]]);
 NULL
 
@@ -42882,9 +42911,20 @@ $ts.eps
 [1] 1e-05
 
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_options.testoptions5#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_options.testoptions5#Ignored.ReferenceError#
 #argv <- list(NULL); .Internal(options(argv[[1]]))
 
+##com.oracle.truffle.r.test.builtins.TestBuiltin_options.testoptions5#
+#options(NA);
+Error in options(NA) : invalid argument
+
+##com.oracle.truffle.r.test.builtins.TestBuiltin_options.testoptions5#Ignored.ReferenceError#
+#options(NULL);
+
+##com.oracle.truffle.r.test.builtins.TestBuiltin_options.testoptions5#Ignored.Unimplemented#
+#options(list(NULL));
+Error in options(list(NULL)) : list argument has no valid names
+
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_order.testOrder#
 #order(c('40 50', '405', '40 51', '4028', '40 20', '40 30', '404'))
 [1] 5 6 1 3 4 7 2
@@ -43321,7 +43361,7 @@ expression(for (i in 1:10) {
     x[i] <- i
 })
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_parse.testSource#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_parse.testSource#Output.IgnoreWarningMessage#
 #{ source("test/r/simple/data/tree2/setx.r") ; x }
 Error in file(filename, "r", encoding = encoding) :
   cannot open the connection
@@ -43329,7 +43369,7 @@ In addition: Warning message:
 In file(filename, "r", encoding = encoding) :
   cannot open file 'test/r/simple/data/tree2/setx.r': No such file or directory
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_parse.testSource#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_parse.testSource#Output.IgnoreWarningMessage#
 #{ source("test/r/simple/data/tree2/setx.r", local=TRUE) ; x }
 Error in file(filename, "r", encoding = encoding) :
   cannot open the connection
@@ -43337,7 +43377,7 @@ In addition: Warning message:
 In file(filename, "r", encoding = encoding) :
   cannot open file 'test/r/simple/data/tree2/setx.r': No such file or directory
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_parse.testSource#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_parse.testSource#Output.IgnoreWarningMessage#
 #{ x <- 1; f <- function() { source("test/r/simple/data/tree2/incx.r", local=FALSE) ; x } ; c(f(), x) }
 Error in file(filename, "r", encoding = encoding) :
   cannot open the connection
@@ -43345,7 +43385,7 @@ In addition: Warning message:
 In file(filename, "r", encoding = encoding) :
   cannot open file 'test/r/simple/data/tree2/incx.r': No such file or directory
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_parse.testSource#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_parse.testSource#Output.IgnoreWarningMessage#
 #{ x <- 1; f <- function() { source("test/r/simple/data/tree2/incx.r", local=TRUE) ; x } ; c(f(), x) }
 Error in file(filename, "r", encoding = encoding) :
   cannot open the connection
@@ -43353,7 +43393,7 @@ In addition: Warning message:
 In file(filename, "r", encoding = encoding) :
   cannot open file 'test/r/simple/data/tree2/incx.r': No such file or directory
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_parse.testSource#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_parse.testSource#Output.IgnoreWarningMessage#
 #{ x <- 1; f <- function() { source("test/r/simple/data/tree2/setx.r", local=FALSE) ; x } ; c(f(), x) }
 Error in file(filename, "r", encoding = encoding) :
   cannot open the connection
@@ -43361,7 +43401,7 @@ In addition: Warning message:
 In file(filename, "r", encoding = encoding) :
   cannot open file 'test/r/simple/data/tree2/setx.r': No such file or directory
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_parse.testSource#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_parse.testSource#Output.IgnoreWarningMessage#
 #{ x <- 1; f <- function() { source("test/r/simple/data/tree2/setx.r", local=TRUE) ; x } ; c(f(), x) }
 Error in file(filename, "r", encoding = encoding) :
   cannot open the connection
@@ -43535,7 +43575,7 @@ character(0)
 [218] " 0.43"   " 0.36"   " 0.36"   " 0.06"   " 1.00_*" " 0.26"   " 0.40"
 [225] " 0.36"   " 0.25"   " 0.57_*" " 0.57_*"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_paste0.testpaste011#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_paste0.testpaste011#Ignored.ImplementationError#
 #argv <- list(list(character(0), character(0), character(0)), NULL); .Internal(paste0(argv[[1]], argv[[2]]))
 character(0)
 
@@ -44771,19 +44811,19 @@ function (call)  .Primitive(".Internal")
 #argv <- list(.Primitive('log'), TRUE); .Internal(print.function(argv[[1]], argv[[2]]))
 function (x, base = exp(1))  .Primitive("log")
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_prmatrix.testprmatrix1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_prmatrix.testprmatrix1#Ignored.Unimplemented#
 #argv <- list(structure(c(1, 6, 9, 6, 4, 1, 1, 2, 1, 0.305397625390859, 0.00170825768891124, 8.51556634078892e-12, 0.64987756971621, 0.0197968749793939, 5.28672163823767e-10, 0.00471555351643001, 2.33367394341443e-13, 1.21630438148624e-64, 1, 1, 1), .Dim = c(3L, 7L), .Dimnames = list(NULL, c('time', 'n.risk', 'n.event', 'survival', 'std.err', 'lower 95% CI', 'upper 95% CI'))), c('', '', ''), c('time', 'n.risk', 'n.event', 'survival', 'std.err', 'lower 95% CI', 'upper 95% CI'), TRUE, FALSE, NULL); .Internal(prmatrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))
  time n.risk n.event     survival      std.err lower 95% CI upper 95% CI
     1      6       1 3.053976e-01 6.498776e-01 4.715554e-03            1
     6      4       2 1.708258e-03 1.979687e-02 2.333674e-13            1
     9      1       1 8.515566e-12 5.286722e-10 1.216304e-64            1
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_prmatrix.testprmatrix2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_prmatrix.testprmatrix2#Ignored.Unimplemented#
 #argv <- list(structure(FALSE, .Dim = c(1L, 1L)), NULL, NULL, TRUE, FALSE, NULL); .Internal(prmatrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))
       [,1]
 [1,] FALSE
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_prmatrix.testprmatrix3#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_prmatrix.testprmatrix3#Ignored.Unimplemented#
 #argv <- list(structure(c(1, 2, 3, 4, 5, 8, 11, 12, 15, 17, 22, 23, 21, 19, 17, 16, 14, 12, 8, 6, 4, 3, 2, 1, 2, 2, 1, 2, 2, 4, 2, 2, 1, 1, 1, 1, 0.904761904761905, 0.80952380952381, 0.761904761904762, 0.666666666666667, 0.571428571428571, 0.380952380952381, 0.285714285714286, 0.19047619047619, 0.142857142857143, 0.0952380952380952, 0.0476190476190476, 0, 0.0640564484890047, 0.0856890867468988, 0.0929428640903365, 0.102868899974728, 0.107989849431208, 0.105971169574131, 0.0985807941917649, 0.0856890867468988, 0.0763603548321212, 0.0640564484890047, 0.0464714320451682, NaN, 0.670045882235034, 0.568905059924173, 0.519391415328429, 0.425350435565247, 0.337976953859493, 0.183066548820394, 0.116561326436765, 0.0594817013611753, 0.0356573551906667, 0.016259260212247, 0.00332446304253118, NA, 0.975294149038113, 0.923888828559295, 0.893257109782487, 0.82504400879734, 0.749240709943216, 0.577788677745831, 0.481819648009025, 0.37743489058515, 0.321161574680869, 0.261249981968687, 0.197044905698946, NA), .Dim = c(12L, 7L), .Dimnames = list(NULL, c('time', 'n.risk', 'n.event', 'survival', 'std.err', 'lower 95% CI', 'upper 95% CI'))), c('', '', '', '', '', '', '', '', '', '', '', ''), c('time', 'n.risk', 'n.event', 'survival', 'std.err', 'lower 95% CI', 'upper 95% CI'), TRUE, FALSE, NULL); .Internal(prmatrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))
  time n.risk n.event   survival    std.err lower 95% CI upper 95% CI
     1     21       2 0.90476190 0.06405645  0.670045882    0.9752941
@@ -44799,13 +44839,13 @@ function (x, base = exp(1))  .Primitive("log")
    22      2       1 0.04761905 0.04647143  0.003324463    0.1970449
    23      1       1 0.00000000        NaN           NA           NA
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_prmatrix.testprmatrix4#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_prmatrix.testprmatrix4#Ignored.Unimplemented#
 #argv <- list(structure(c(952L, 3622L, 202L, 406L), .Dim = c(2L, 2L), .Dimnames = list(c('subcohort', 'cohort'), c('1', '2'))), c('subcohort', 'cohort'), c('1', '2'), FALSE, FALSE, NULL); .Internal(prmatrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))
              1   2
 subcohort  952 202
 cohort    3622 406
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_prmatrix.testprmatrix5#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_prmatrix.testprmatrix5#Ignored.Unimplemented#
 #argv <- list(structure(c(-1.89646294299258, 1.16675019914746, -8.10054918052941, -5.02922966334328, -0.332284173685658, -0.370285767776029, -0.422218802914528, 0.27824687717147, NA, 0.150098588668891, 3.21153879975245, 0.000303372486059531, 0.00654384959664698, 0.717283460804982, 0.690536969224971, 0.655590578569862, 1.32081223535046, NA, 1.38078223740269, 0.565646487676971, 0.698724423746393, 0.770086232143856, 0.0568682431416458, 0.116409970657657, 0.0584328435912827, 0.0510212342180821, 0, -1.37346997348395, 2.06268442316178, -11.5933390979754, -6.53073571948212, -5.84305326362929, -3.1808767383421, -7.22571035337252, 5.45355049590036, NA, 0.17, 0.039, 0, 6.5e-11, 5.1e-09, 0.0015, 5e-13, 4.9e-08, NA), .Dim = c(9L, 5L), .Dimnames = list(c('toccfarm', 'toccoperatives', 'toccprofessional', 'toccsales', 'tocccraftsmen:education', 'toccfarm:education', 'toccoperatives:education', 'toccprofessional:education', 'toccsales:education'), c('coef', 'exp(coef)', 'se(coef)', 'z', 'p'))), c('toccfarm', 'toccoperatives', 'toccprofessional', 'toccsales', 'tocccraftsmen:education', 'toccfarm:education', 'toccoperatives:education', 'toccprofessional:education', 'toccsales:education'), c('coef', 'exp(coef)', 'se(coef)', 'z', 'p'), TRUE, FALSE, NULL); .Internal(prmatrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))
                                  coef    exp(coef)   se(coef)          z
 toccfarm                   -1.8964629 0.1500985887 1.38078224  -1.373470
@@ -44828,7 +44868,7 @@ toccoperatives:education   5.0e-13
 toccprofessional:education 4.9e-08
 toccsales:education             NA
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_prmatrix.testprmatrix6#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_prmatrix.testprmatrix6#Ignored.Unimplemented#
 #argv <- list(structure(c('splines-package', 'as.polySpline', 'asVector', 'backSpline', 'bs', 'interpSpline', 'ns', 'periodicSpline', 'polySpline', 'predict.bs', 'predict.bSpline', 'predict.nbSpline', 'predict.npolySpline', 'predict.ns', 'predict.pbSpline', 'predict.ppolySpline', 'spline.des', 'splineDesign', 'splineKnots', 'splineOrder', 'splines', 'xyVector', 'splines-package', 'polySpline', 'asVector', 'backSpline', 'bs', 'interpSpline', 'ns', 'periodicSpline', 'polySpline', 'predict.bs', 'predict.bSpline', 'predict.bSpline', 'predict.bSpline', 'predict.bs', 'predict.bSpline', 'predict.bSpline', 'splineDesign', 'splineDesign', 'splineKnots', 'splineOrder', 'splines-package', 'xyVector'), .Dim = c(22L, 2L)), NULL, c('Column 1', 'Column 2', 'Column 3'), FALSE, TRUE, NULL); .Internal(prmatrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))
                  Column 1        Column 2
  [1,]     splines-package splines-package
@@ -44854,14 +44894,14 @@ toccsales:education             NA
 [21,]             splines splines-package
 [22,]            xyVector        xyVector
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_prmatrix.testprmatrix7#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_prmatrix.testprmatrix7#Ignored.Unimplemented#
 #argv <- list(structure(c(' 0.228763', '-0.000666', '', '0.08909', '0.00426', '', '0.08899', '0.00426', '', '6.59', '0.02', '6.02', '1.00', '1.00', '3.06', '0.01', '0.88', '0.12'), .Dim = c(3L, 6L), .Dimnames = list(c('male', 'tt(agechf), linear', 'tt(agechf), nonlin'), c('coef', 'se(coef)', 'se2', 'Chisq', 'DF', 'p'))), c('male', 'tt(agechf), linear', 'tt(agechf), nonlin'), c('coef', 'se(coef)', 'se2', 'Chisq', 'DF', 'p'), FALSE, FALSE, NULL); .Internal(prmatrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))
                    coef      se(coef) se2     Chisq DF   p
 male                0.228763 0.08909  0.08899 6.59  1.00 0.01
 tt(agechf), linear -0.000666 0.00426  0.00426 0.02  1.00 0.88
 tt(agechf), nonlin                            6.02  3.06 0.12
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_prmatrix.testprmatrix8#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_prmatrix.testprmatrix8#Ignored.Unimplemented#
 #argv <- list(structure(c(' 0.00561', '-1.65487', '', '0.012', '0.483', '', '0.00872', '0.38527', '', ' 0.22', '11.74', '20.33', ' 1.0', ' 1.0', '13.9', '0.64000', '0.00061', '0.12000'), .Dim = c(3L, 6L), .Dimnames = list(c('age', 'sex', 'frailty(id, dist = \'t\', c'), c('coef', 'se(coef)', 'se2', 'Chisq', 'DF', 'p'))), c('age', 'sex', 'frailty(id, dist = \'t\', c'), c('coef', 'se(coef)', 'se2', 'Chisq', 'DF', 'p'), FALSE, FALSE, NULL); .Internal(prmatrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))
                           coef     se(coef) se2     Chisq DF   p
 age                        0.00561 0.012    0.00872  0.22  1.0 0.64000
@@ -44956,7 +44996,7 @@ Error in prod(list()) : invalid 'type' (list) of argument
 #argv <- list(9L);prod(argv[[1]]);
 [1] 9
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_prod.testprod10#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_prod.testprod10#
 #prod( );
 [1] 1
 
@@ -45013,7 +45053,7 @@ Evaluation  city centre   suburbs
 #argv <- structure(list(x = structure(integer(0), .Dim = 0L, .Dimnames = structure(list(NULL),     .Names = ''), class = 'table')), .Names = 'x');do.call('provideDimnames', argv)
 < table of extent 0 >
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_psigamma.testpsigamma1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_psigamma.testpsigamma1#Ignored.Unimplemented#
 #argv <- list(c(-100, -3, -2, -1, 0, 1, 2, -99.9, -7.7, -3, -2.9, -2.8, -2.7, -2.6, -2.5, -2.4, -2.3, -2.2, -2.1, -2, -1.9, -1.8, -1.7, -1.6, -1.5, -1.4, -1.3, -1.2, -1.1, -1, -0.9, -0.8, -0.7, -0.6, -0.5, -0.4, -0.3, -0.2, -0.0999999999999996, 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 5.1, 77), 1); .Internal(psigamma(argv[[1]], argv[[2]]))
  [1]          Inf          Inf          Inf          Inf          Inf
  [6]   1.64493407   0.64493407 103.34587903  14.95761284          Inf
@@ -45031,15 +45071,15 @@ Evaluation  city centre   suburbs
 [66]   0.46780689   0.44721207   0.42833216   0.41096375   0.39493407
 [71]   0.21654883   0.01307171
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_psigamma.testpsigamma2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_psigamma.testpsigamma2#Ignored.Unimplemented#
 #argv <- list(c(1e+30, 1e+45, 1e+60, 1e+75, 1e+90), 2); .Internal(psigamma(argv[[1]], argv[[2]]))
 [1]  -1e-60  -1e-90 -1e-120 -1e-150 -1e-180
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_psigamma.testpsigamma3#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_psigamma.testpsigamma3#Ignored.Unimplemented#
 #argv <- list(c(1e+20, 1e+30, 1e+40, 1e+50, 1e+60), 5); .Internal(psigamma(argv[[1]], argv[[2]]))
 [1]  2.4e-99 2.4e-149 2.4e-199 2.4e-249 2.4e-299
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_psigamma.testpsigamma4#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_psigamma.testpsigamma4#Ignored.Unimplemented#
 #argv <- list(c(-100, -3, -2, -1, 0, 1, 2, -99.9, -7.7, -3, -2.9, -2.8, -2.7, -2.6, -2.5, -2.4, -2.3, -2.2, -2.1, -2, -1.9, -1.8, -1.7, -1.6, -1.5, -1.4, -1.3, -1.2, -1.1, -1, -0.9, -0.8, -0.7, -0.6, -0.5, -0.4, -0.3, -0.2, -0.0999999999999996, 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 5.1, 77), 0); .Internal(psigamma(argv[[1]], argv[[2]]))
  [1]          NaN          NaN          NaN          NaN          NaN
  [6]  -0.57721566   0.42278434  -5.05966165  -0.17774844          NaN
@@ -45072,157 +45112,63 @@ NULL
 Error: only atomic vectors can be sorted
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_psort.testpsort1#
-#argv <- list(7:8, 1:2); .Internal(psort(argv[[1]], argv[[2]]))
+#argv <- list(7:8, 1:2); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]
 [1] 7 8
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_psort.testpsort10#
-#argv <- list(c(-1.05715266611575, -0.873306430909872, -0.548705796690786, -0.288240908441576, -0.0649703574297026, 0.224762433374997, 0.3255545927283, 0.4813346401898, 0.530823516045489, 1.2699009772491), c(1L, 3L, 4L, 5L, 6L, 7L, 8L, 10L)); .Internal(psort(argv[[1]], argv[[2]]))
- [1] -1.05715267 -0.87330643 -0.54870580 -0.28824091 -0.06497036  0.22476243
- [7]  0.32555459  0.48133464  0.53082352  1.26990098
+#argv <- list(c(-1.05715266611575, -0.873306430909872, -0.548705796690786, -0.288240908441576, -0.0649703574297026, 0.224762433374997, 0.3255545927283, 0.4813346401898, 0.530823516045489, 1.2699009772491), c(1L, 3L, 4L, 5L, 6L, 7L, 8L, 10L)); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]
+[1] -1.05715267 -0.54870580 -0.28824091 -0.06497036  0.22476243  0.32555459
+[7]  0.48133464  1.26990098
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_psort.testpsort11#
-#argv <- list(c(-1.05715266611575, -0.873306430909873, -0.548705796690787, -0.288240908441577, -0.0649703574297025, 0.224762433374994, 0.3255545927283, 0.481334640189799, 0.530823516045488, 1.2699009772491), c(1L, 3L, 4L, 5L, 6L, 7L, 8L, 10L)); .Internal(psort(argv[[1]], argv[[2]]))
- [1] -1.05715267 -0.87330643 -0.54870580 -0.28824091 -0.06497036  0.22476243
- [7]  0.32555459  0.48133464  0.53082352  1.26990098
+#argv <- list(c(-1.05715266611575, -0.873306430909873, -0.548705796690787, -0.288240908441577, -0.0649703574297025, 0.224762433374994, 0.3255545927283, 0.481334640189799, 0.530823516045488, 1.2699009772491), c(1L, 3L, 4L, 5L, 6L, 7L, 8L, 10L)); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]
+[1] -1.05715267 -0.54870580 -0.28824091 -0.06497036  0.22476243  0.32555459
+[7]  0.48133464  1.26990098
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_psort.testpsort12#
-#argv <- list(c(-Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -4.17369555651928e+302, -2.72671165723473e+289, -2.21240023126594e+276, -2.24780296109123e+263, -2.88514442494869e+250, -4.72336572671053e+237, -9.96611412047338e+224, -2.74100158340596e+212, -9.94902790498679e+199, -4.83110332887119e+187, -3.18582547396557e+175, -2.90089508183654e+163, -3.71562599613334e+151, -6.83535188151783e+139, -1.84898368353639e+128, -7.55412056676629e+116, -4.80716085942859e+105, -4.9383857330861e+94, -8.54170618068872e+83, -2.61556777274611e+73, -1.5069799345972e+63, -1.76183826972506e+53, -4.60125024792566e+43, -3.04622557026196e+34, -6.08456909882282e+25, -473300382255715392, -21650982809.6744, -12820.0784261145, -1.12778377684043), c(1L, 13L, 14L, 26L, 38L, 39L, 51L)); .Internal(psort(argv[[1]], argv[[2]]))
- [1]           -Inf           -Inf           -Inf           -Inf           -Inf
- [6]           -Inf           -Inf           -Inf           -Inf           -Inf
-[11]           -Inf           -Inf           -Inf           -Inf           -Inf
-[16]           -Inf           -Inf           -Inf           -Inf           -Inf
-[21]           -Inf           -Inf -4.173696e+302 -2.726712e+289 -2.212400e+276
-[26] -2.247803e+263 -2.885144e+250 -4.723366e+237 -9.966114e+224 -2.741002e+212
-[31] -9.949028e+199 -4.831103e+187 -3.185825e+175 -2.900895e+163 -3.715626e+151
-[36] -6.835352e+139 -1.848984e+128 -7.554121e+116 -4.807161e+105  -4.938386e+94
-[41]  -8.541706e+83  -2.615568e+73  -1.506980e+63  -1.761838e+53  -4.601250e+43
-[46]  -3.046226e+34  -6.084569e+25  -4.733004e+17  -2.165098e+10  -1.282008e+04
-[51]  -1.127784e+00
-
-##com.oracle.truffle.r.test.builtins.TestBuiltin_psort.testpsort13#Ignored.Unknown#
-#argv <- list(c(0.5, 0.6, 1.2, 1.3, 1.6, 5.8, 6.2, 3.7, 5.1, 5, 4, 4, 5.3, 1.4, 6.6, 3.8, 2.6, 3.2, 2.9, 6.8, 10.6, 7.6, 9.3, 8, 10, 10, 8, 10.5, 10.5, 9.7, 9.7, 9.4, 8.9, 8.8, 8, 10.1, 8.5, 9.1, 7.5, 7.4, 7.5, 7.6, 8.4, 8.5, 10.8, 11.1, 12, 12, 18, 17.7, 16, 15, 14, 12.9, 12.7, 12.6, 17.9, 12.1, 17.7, 16.1, 13, 17.3, 17, 16.7, 13, 15.7, 19, 16, 17, 12, 12.2, 12.8, 14.6, 14.9, 17.6, 21, 20.5, 19.6, 20.2, 20.8, 21.1, 21.9, 20.5, 19.2, 22.5, 22, 23.2, 23, 22, 22, 23.4, 23.4, 23.5, 29, 26, 25, 28.5, 25.4, 29, 24.2, 23.9, 24.6, 25.7, 25.3, 28.6, 26.5, 29, 37.8, 30.9, 42, 31, 38.5, 41.4, 43.6, 46.7, 37.4, 45, 35.9, 36.1, 32, 44.4, 40.3, 30, 31, 32, 32.7, 36, 43.5, 33.1, 32.9, 36.3, 38.9, 30, 46.1, 45, 47.1, 47.7, 187, 147, 130, 49.2, 62, 141, 122, 105, 62, 64, 123, 112, 105, 63.6, 60, 49, 66, 87, 56.9, 60.7, 61.4, 156, 62, 64, 82, 88, 48.3, 109, 107, 85, 91, 148, 145, 53.1, 50, 92.2, 224, 293, 300, 211, 200, 197, 203, 359, 370), c(1L, 46L, 47L, 91L, 92L, 136L, 137L, 182L)); .Internal(psort(argv[[1]], argv[[2]]))
-  [1]   0.5   0.6   1.2   1.3   1.6   5.8   6.2   3.7   5.1   5.0   4.0   4.0
- [13]   5.3   1.4   6.6   3.8   2.6   3.2   2.9   6.8  10.6   7.6   9.3   8.0
- [25]  10.0  10.0   8.0  10.5  10.5   9.7   9.7   9.4   8.9   8.8   8.0  10.1
- [37]   8.5   9.1   7.5   7.4   7.5   7.6   8.4   8.5  10.8  11.1  12.0  12.0
- [49]  18.0  17.7  16.0  15.0  14.0  12.9  12.7  12.6  17.9  12.1  17.7  16.1
- [61]  13.0  17.3  17.0  16.7  13.0  15.7  19.0  16.0  17.0  12.0  12.2  12.8
- [73]  14.6  14.9  17.6  21.0  20.5  19.6  20.2  20.8  21.1  21.9  20.5  19.2
- [85]  22.5  22.0  23.2  23.0  22.0  22.0  23.4  23.4  23.5  29.0  26.0  25.0
- [97]  28.5  25.4  29.0  24.2  23.9  24.6  25.7  25.3  28.6  26.5  29.0  37.8
-[109]  30.9  42.0  31.0  38.5  41.4  43.6  46.7  37.4  45.0  35.9  36.1  32.0
-[121]  44.4  40.3  30.0  31.0  32.0  32.7  36.0  43.5  33.1  32.9  36.3  38.9
-[133]  30.0  46.1  45.0  47.1  47.7 187.0 147.0 130.0  49.2  62.0 141.0 122.0
-[145] 105.0  62.0  64.0 123.0 112.0 105.0  63.6  60.0  49.0  66.0  87.0  56.9
-[157]  60.7  61.4 156.0  62.0  64.0  82.0  88.0  48.3 109.0 107.0  85.0  91.0
-[169] 148.0 145.0  53.1  50.0  92.2 224.0 293.0 300.0 211.0 200.0 197.0 203.0
-[181] 359.0 370.0
+#argv <- list(c(-Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -4.17369555651928e+302, -2.72671165723473e+289, -2.21240023126594e+276, -2.24780296109123e+263, -2.88514442494869e+250, -4.72336572671053e+237, -9.96611412047338e+224, -2.74100158340596e+212, -9.94902790498679e+199, -4.83110332887119e+187, -3.18582547396557e+175, -2.90089508183654e+163, -3.71562599613334e+151, -6.83535188151783e+139, -1.84898368353639e+128, -7.55412056676629e+116, -4.80716085942859e+105, -4.9383857330861e+94, -8.54170618068872e+83, -2.61556777274611e+73, -1.5069799345972e+63, -1.76183826972506e+53, -4.60125024792566e+43, -3.04622557026196e+34, -6.08456909882282e+25, -473300382255715392, -21650982809.6744, -12820.0784261145, -1.12778377684043), c(1L, 13L, 14L, 26L, 38L, 39L, 51L)); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]
+[1]           -Inf           -Inf           -Inf -2.247803e+263 -7.554121e+116
+[6] -4.807161e+105  -1.127784e+00
+
+##com.oracle.truffle.r.test.builtins.TestBuiltin_psort.testpsort13#
+#argv <- list(c(0.5, 0.6, 1.2, 1.3, 1.6, 5.8, 6.2, 3.7, 5.1, 5, 4, 4, 5.3, 1.4, 6.6, 3.8, 2.6, 3.2, 2.9, 6.8, 10.6, 7.6, 9.3, 8, 10, 10, 8, 10.5, 10.5, 9.7, 9.7, 9.4, 8.9, 8.8, 8, 10.1, 8.5, 9.1, 7.5, 7.4, 7.5, 7.6, 8.4, 8.5, 10.8, 11.1, 12, 12, 18, 17.7, 16, 15, 14, 12.9, 12.7, 12.6, 17.9, 12.1, 17.7, 16.1, 13, 17.3, 17, 16.7, 13, 15.7, 19, 16, 17, 12, 12.2, 12.8, 14.6, 14.9, 17.6, 21, 20.5, 19.6, 20.2, 20.8, 21.1, 21.9, 20.5, 19.2, 22.5, 22, 23.2, 23, 22, 22, 23.4, 23.4, 23.5, 29, 26, 25, 28.5, 25.4, 29, 24.2, 23.9, 24.6, 25.7, 25.3, 28.6, 26.5, 29, 37.8, 30.9, 42, 31, 38.5, 41.4, 43.6, 46.7, 37.4, 45, 35.9, 36.1, 32, 44.4, 40.3, 30, 31, 32, 32.7, 36, 43.5, 33.1, 32.9, 36.3, 38.9, 30, 46.1, 45, 47.1, 47.7, 187, 147, 130, 49.2, 62, 141, 122, 105, 62, 64, 123, 112, 105, 63.6, 60, 49, 66, 87, 56.9, 60.7, 61.4, 156, 62, 64, 82, 88, 48.3, 109, 107, 85, 91, 148, 145, 53.1, 50, 92.2, 224, 293, 300, 211, 200, 197, 203, 359, 370), c(1L, 46L, 47L, 91L, 92L, 136L, 137L, 182L)); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]
+[1]   0.5  11.1  12.0  23.4  23.4  47.1  47.7 370.0
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_psort.testpsort14#
-#argv <- list(c(-1.36919169254062, -0.667819876370237, -0.253162069270378, -0.0834190388782434, -0.00786394222146348, 0.0246733498130512, 0.0730305465518564, 0.0881443844426084, 0.170711734013213, 0.552921941721332), c(1L, 3L, 4L, 5L, 6L, 7L, 8L, 10L)); .Internal(psort(argv[[1]], argv[[2]]))
- [1] -1.369191693 -0.667819876 -0.253162069 -0.083419039 -0.007863942
- [6]  0.024673350  0.073030547  0.088144384  0.170711734  0.552921942
-
-##com.oracle.truffle.r.test.builtins.TestBuiltin_psort.testpsort2#Ignored.Unknown#
-#argv <- list(c(0.0499999999999972, 0.300000000000004, 1.1, 0.0500000000000007, 0, 0.25, 1, 2.15, 1.95, 2.09999999999999, 1.95, 2.04999999999999, 2.59999999999999, 2.59999999999999, 2.6, 4.25, 3.45, 2.65000000000001, 3.49999999999999, 3.75000000000001, 2.75, 3.05, 2.8, 4.45, 3.35, 7.7, 14.2), 14L); .Internal(psort(argv[[1]], argv[[2]]))
- [1]  0.05  0.30  1.10  0.05  0.00  0.25  1.00  2.15  1.95  2.10  1.95  2.05
-[13]  2.60  2.60  2.60  4.25  3.45  2.65  3.50  3.75  2.75  3.05  2.80  4.45
-[25]  3.35  7.70 14.20
-
-##com.oracle.truffle.r.test.builtins.TestBuiltin_psort.testpsort3#Ignored.Unknown#
-#argv <- list(c(4.23272528138341e-16, 5.68989300120393e-16, 0.0499999999999982, 3.05311331771918e-16, 0.049999999999999, 0.0499999999999994, 3.05311331771918e-16, 0.0499999999999994, 0.100000000000001, 0.0999999999999994, 0.0999999999999994, 0.0500000000000006, 0.15, 0.15, 0.100000000000001, 0.0499999999999997, 0.150000000000001, 0.0999999999999995, 0.0999999999999993, 0.100000000000001, 0.0999999999999994, 0.100000000000001, 0.250000000000001, 0.250000000000001, 0.299999999999999, 0.199999999999999, 0.200000000000001, 0.3, 0.25, 0.199999999999999, 0.199999999999999, 0.150000000000001, 0.200000000000001, 0.199999999999998, 0.249999999999999, 0.199999999999999, 0.3, 0.350000000000001, 0.35, 0.300000000000001, 0.3, 0.350000000000002, 0.35, 0.35, 0.300000000000001, 0.350000000000001, 0.399999999999999, 0.4, 0.349999999999999, 0.350000000000001, 0.400000000000001, 0.300000000000001, 0.400000000000001, 0.449999999999999, 0.45, 0.450000000000001, 0.45, 0.450000000000001, 1.05, 0.7, 0.6, 1, 0.500000000000001, 0.5, 0.699999999999999, 1.05, 0.850000000000001, 0.650000000000001, 0.750000000000001, 0.75, 1, 0.699999999999999, 0.749999999999999, 1.05, 0.549999999999999, 0.500000000000001, 0.7, 0.8, 0.500000000000001, 0.650000000000001, 0.700000000000001, 0.599999999999999, 0.9, 0.75, 0.949999999999999, 0.899999999999999, 0.550000000000001, 1, 1.05, 1.05, 0.600000000000001, 0.6, 1.05, 0.749999999999999, 0.949999999999999, 1.1, 2.15, 1.45, 1.3, 2.1, 4.85, 3.7, 2.05, 1.2, 1.4, 1.3, 1.2, 1.85), 54:55); .Internal(psort(argv[[1]], argv[[2]]))
-  [1] 4.232725e-16 5.689893e-16 5.000000e-02 3.053113e-16 5.000000e-02
-  [6] 5.000000e-02 3.053113e-16 5.000000e-02 1.000000e-01 1.000000e-01
- [11] 1.000000e-01 5.000000e-02 1.500000e-01 1.500000e-01 1.000000e-01
- [16] 5.000000e-02 1.500000e-01 1.000000e-01 1.000000e-01 1.000000e-01
- [21] 1.000000e-01 1.000000e-01 2.500000e-01 2.500000e-01 3.000000e-01
- [26] 2.000000e-01 2.000000e-01 3.000000e-01 2.500000e-01 2.000000e-01
- [31] 2.000000e-01 1.500000e-01 2.000000e-01 2.000000e-01 2.500000e-01
- [36] 2.000000e-01 3.000000e-01 3.500000e-01 3.500000e-01 3.000000e-01
- [41] 3.000000e-01 3.500000e-01 3.500000e-01 3.500000e-01 3.000000e-01
- [46] 3.500000e-01 4.000000e-01 4.000000e-01 3.500000e-01 3.500000e-01
- [51] 4.000000e-01 3.000000e-01 4.000000e-01 4.500000e-01 4.500000e-01
- [56] 4.500000e-01 4.500000e-01 4.500000e-01 1.050000e+00 7.000000e-01
- [61] 6.000000e-01 1.000000e+00 5.000000e-01 5.000000e-01 7.000000e-01
- [66] 1.050000e+00 8.500000e-01 6.500000e-01 7.500000e-01 7.500000e-01
- [71] 1.000000e+00 7.000000e-01 7.500000e-01 1.050000e+00 5.500000e-01
- [76] 5.000000e-01 7.000000e-01 8.000000e-01 5.000000e-01 6.500000e-01
- [81] 7.000000e-01 6.000000e-01 9.000000e-01 7.500000e-01 9.500000e-01
- [86] 9.000000e-01 5.500000e-01 1.000000e+00 1.050000e+00 1.050000e+00
- [91] 6.000000e-01 6.000000e-01 1.050000e+00 7.500000e-01 9.500000e-01
- [96] 1.100000e+00 2.150000e+00 1.450000e+00 1.300000e+00 2.100000e+00
-[101] 4.850000e+00 3.700000e+00 2.050000e+00 1.200000e+00 1.400000e+00
-[106] 1.300000e+00 1.200000e+00 1.850000e+00
-
-##com.oracle.truffle.r.test.builtins.TestBuiltin_psort.testpsort4#Ignored.Unknown#
-#argv <- list(c(0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.0499999999999998, 0.05, 0.05, 0.05, 0.0499999999999999, 0.05, 0.0499999999999999, 0.05, 0.0499999999999999, 0.0499999999999999, 0.05, 0.0499999999999999, 0.0499999999999999, 0.05, 0.05, 0.0499999999999998, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.0499999999999999, 0.05, 0.05, 0.05, 0.0499999999999999, 0.0499999999999999, 0.0499999999999999, 0.05, 0.05, 0.0499999999999999, 0.05, 0.0499999999999999, 0.05, 0.05, 0.05, 0.0499999999999998, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.0555556, 0.05555554, 0.05555556, 0.05555556, 0.05555554, 0.0555556, 0.0555555, 0.0555556, 0.0555555, 0.0555556, 0.0555555, 0.0555556, 0.0555556, 0.0555555, 0.0555555999999999, 0.0555555000000001, 0.0555555999999999, 0.0555555000000001, 0.0555555999999999, 0.0555555, 0.0555556, 0.0555559999999999, 0.055555, 0.0555559999999999, 0.0526315, 0.05263162, 0.05263158, 0.05263158, 0.05263162, 0.0526315, 0.0526316, 0.0526316, 0.0526316, 0.0526316, 0.0526315, 0.0526316, 0.0526316, 0.0526316, 0.0526316, 0.0526315000000001, 0.0526316, 0.0526315999999999, 0.0526316, 0.0526315000000001, 0.0526316, 0.0526316, 0.052632, 0.0526310000000001, 0.0526319999999998, 0.08333333, 0.08333333, 0.08333334, 0.08333333, 0.08333333, 0.08333337, 0.0833333, 0.0833333, 0.0833333, 0.0833333, 0.0833333, 0.0833333, 0.0833333000000001, 0.0833333000000001, 0.0833333999999999, 0.0833333000000001, 0.0833333000000001, 0.0833333999999999, 0.0833333000000001, 0.0833333000000001, 0.0833333999999999, 0.0833333000000001, 0.0833333000000001, 0.0833330000000001, 0.0833330000000001), 76:77); .Internal(psort(argv[[1]], argv[[2]]))
-  [1] 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000
-  [7] 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000
- [13] 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000
- [19] 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000
- [25] 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000
- [31] 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000
- [37] 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000
- [43] 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000
- [49] 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000
- [55] 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000
- [61] 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000
- [67] 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000
- [73] 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000 0.05000000
- [79] 0.05555560 0.05555554 0.05555556 0.05555556 0.05555554 0.05555560
- [85] 0.05555550 0.05555560 0.05555550 0.05555560 0.05555550 0.05555560
- [91] 0.05555560 0.05555550 0.05555560 0.05555550 0.05555560 0.05555550
- [97] 0.05555560 0.05555550 0.05555560 0.05555600 0.05555500 0.05555600
-[103] 0.05263150 0.05263162 0.05263158 0.05263158 0.05263162 0.05263150
-[109] 0.05263160 0.05263160 0.05263160 0.05263160 0.05263150 0.05263160
-[115] 0.05263160 0.05263160 0.05263160 0.05263150 0.05263160 0.05263160
-[121] 0.05263160 0.05263150 0.05263160 0.05263160 0.05263200 0.05263100
-[127] 0.05263200 0.08333333 0.08333333 0.08333334 0.08333333 0.08333333
-[133] 0.08333337 0.08333330 0.08333330 0.08333330 0.08333330 0.08333330
-[139] 0.08333330 0.08333330 0.08333330 0.08333340 0.08333330 0.08333330
-[145] 0.08333340 0.08333330 0.08333330 0.08333340 0.08333330 0.08333330
-[151] 0.08333300 0.08333300
-
-##com.oracle.truffle.r.test.builtins.TestBuiltin_psort.testpsort5#Ignored.Unknown#
-#argv <- list(c(-3.35281542033775, -3.57533122743112, -3.23282496934355, -3.3903449466851, -3.39757437954971, -3.36251831175626, -3.22932468384763, -3.22295685034786, -3.21402130636699, -3.11638102275539, -3.09226646401048, -3.21757818016328, -3.0862187014408, -3.08484132891786), 7:8); .Internal(psort(argv[[1]], argv[[2]]))
- [1] -3.352815 -3.575331 -3.232825 -3.390345 -3.397574 -3.362518 -3.229325
- [8] -3.222957 -3.214021 -3.116381 -3.092266 -3.217578 -3.086219 -3.084841
-
-##com.oracle.truffle.r.test.builtins.TestBuiltin_psort.testpsort6#Ignored.Unknown#
-#argv <- list(c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE), c(66L, 195L)); .Internal(psort(argv[[1]], argv[[2]]))
-  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
- [13] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
- [25] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
- [37] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
- [49] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
- [61] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
- [73] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
- [85] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
- [97] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
-[109] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
-[121] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
-[133] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
-[145] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
-[157] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
-[169] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
-[181] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
-[193] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
-[205] FALSE  TRUE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE  TRUE FALSE FALSE
-[217] FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE FALSE FALSE
-[229] FALSE  TRUE  TRUE FALSE FALSE  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE
-[241] FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE  TRUE FALSE
-[253] FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE
+#argv <- list(c(-1.36919169254062, -0.667819876370237, -0.253162069270378, -0.0834190388782434, -0.00786394222146348, 0.0246733498130512, 0.0730305465518564, 0.0881443844426084, 0.170711734013213, 0.552921941721332), c(1L, 3L, 4L, 5L, 6L, 7L, 8L, 10L)); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]
+[1] -1.369191693 -0.253162069 -0.083419039 -0.007863942  0.024673350
+[6]  0.073030547  0.088144384  0.552921942
+
+##com.oracle.truffle.r.test.builtins.TestBuiltin_psort.testpsort2#
+#argv <- list(c(0.0499999999999972, 0.300000000000004, 1.1, 0.0500000000000007, 0, 0.25, 1, 2.15, 1.95, 2.09999999999999, 1.95, 2.04999999999999, 2.59999999999999, 2.59999999999999, 2.6, 4.25, 3.45, 2.65000000000001, 3.49999999999999, 3.75000000000001, 2.75, 3.05, 2.8, 4.45, 3.35, 7.7, 14.2), 14L); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]
+[1] 2.6
+
+##com.oracle.truffle.r.test.builtins.TestBuiltin_psort.testpsort3#
+#argv <- list(c(4.23272528138341e-16, 5.68989300120393e-16, 0.0499999999999982, 3.05311331771918e-16, 0.049999999999999, 0.0499999999999994, 3.05311331771918e-16, 0.0499999999999994, 0.100000000000001, 0.0999999999999994, 0.0999999999999994, 0.0500000000000006, 0.15, 0.15, 0.100000000000001, 0.0499999999999997, 0.150000000000001, 0.0999999999999995, 0.0999999999999993, 0.100000000000001, 0.0999999999999994, 0.100000000000001, 0.250000000000001, 0.250000000000001, 0.299999999999999, 0.199999999999999, 0.200000000000001, 0.3, 0.25, 0.199999999999999, 0.199999999999999, 0.150000000000001, 0.200000000000001, 0.199999999999998, 0.249999999999999, 0.199999999999999, 0.3, 0.350000000000001, 0.35, 0.300000000000001, 0.3, 0.350000000000002, 0.35, 0.35, 0.300000000000001, 0.350000000000001, 0.399999999999999, 0.4, 0.349999999999999, 0.350000000000001, 0.400000000000001, 0.300000000000001, 0.400000000000001, 0.449999999999999, 0.45, 0.450000000000001, 0.45, 0.450000000000001, 1.05, 0.7, 0.6, 1, 0.500000000000001, 0.5, 0.699999999999999, 1.05, 0.850000000000001, 0.650000000000001, 0.750000000000001, 0.75, 1, 0.699999999999999, 0.749999999999999, 1.05, 0.549999999999999, 0.500000000000001, 0.7, 0.8, 0.500000000000001, 0.650000000000001, 0.700000000000001, 0.599999999999999, 0.9, 0.75, 0.949999999999999, 0.899999999999999, 0.550000000000001, 1, 1.05, 1.05, 0.600000000000001, 0.6, 1.05, 0.749999999999999, 0.949999999999999, 1.1, 2.15, 1.45, 1.3, 2.1, 4.85, 3.7, 2.05, 1.2, 1.4, 1.3, 1.2, 1.85), 54:55); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]
+[1] 0.45 0.45
+
+##com.oracle.truffle.r.test.builtins.TestBuiltin_psort.testpsort4#
+#argv <- list(c(0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.0499999999999998, 0.05, 0.05, 0.05, 0.0499999999999999, 0.05, 0.0499999999999999, 0.05, 0.0499999999999999, 0.0499999999999999, 0.05, 0.0499999999999999, 0.0499999999999999, 0.05, 0.05, 0.0499999999999998, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.0499999999999999, 0.05, 0.05, 0.05, 0.0499999999999999, 0.0499999999999999, 0.0499999999999999, 0.05, 0.05, 0.0499999999999999, 0.05, 0.0499999999999999, 0.05, 0.05, 0.05, 0.0499999999999998, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.0555556, 0.05555554, 0.05555556, 0.05555556, 0.05555554, 0.0555556, 0.0555555, 0.0555556, 0.0555555, 0.0555556, 0.0555555, 0.0555556, 0.0555556, 0.0555555, 0.0555555999999999, 0.0555555000000001, 0.0555555999999999, 0.0555555000000001, 0.0555555999999999, 0.0555555, 0.0555556, 0.0555559999999999, 0.055555, 0.0555559999999999, 0.0526315, 0.05263162, 0.05263158, 0.05263158, 0.05263162, 0.0526315, 0.0526316, 0.0526316, 0.0526316, 0.0526316, 0.0526315, 0.0526316, 0.0526316, 0.0526316, 0.0526316, 0.0526315000000001, 0.0526316, 0.0526315999999999, 0.0526316, 0.0526315000000001, 0.0526316, 0.0526316, 0.052632, 0.0526310000000001, 0.0526319999999998, 0.08333333, 0.08333333, 0.08333334, 0.08333333, 0.08333333, 0.08333337, 0.0833333, 0.0833333, 0.0833333, 0.0833333, 0.0833333, 0.0833333, 0.0833333000000001, 0.0833333000000001, 0.0833333999999999, 0.0833333000000001, 0.0833333000000001, 0.0833333999999999, 0.0833333000000001, 0.0833333000000001, 0.0833333999999999, 0.0833333000000001, 0.0833333000000001, 0.0833330000000001, 0.0833330000000001), 76:77); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]
+[1] 0.05 0.05
+
+##com.oracle.truffle.r.test.builtins.TestBuiltin_psort.testpsort5#
+#argv <- list(c(-3.35281542033775, -3.57533122743112, -3.23282496934355, -3.3903449466851, -3.39757437954971, -3.36251831175626, -3.22932468384763, -3.22295685034786, -3.21402130636699, -3.11638102275539, -3.09226646401048, -3.21757818016328, -3.0862187014408, -3.08484132891786), 7:8); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]
+[1] -3.229325 -3.222957
+
+##com.oracle.truffle.r.test.builtins.TestBuiltin_psort.testpsort6#
+#argv <- list(c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE), c(66L, 195L)); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]
+[1] FALSE FALSE
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_psort.testpsort7#
-#argv <- list(c(1, 2, 2, 3, 3, 4, 4, 5), 1:8); .Internal(psort(argv[[1]], argv[[2]]))
+#argv <- list(c(1, 2, 2, 3, 3, 4, 4, 5), 1:8); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]
 [1] 1 2 2 3 3 4 4 5
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_psort.testpsort8#
-#argv <- list(27:28, 1:2); .Internal(psort(argv[[1]], argv[[2]]))
+#argv <- list(27:28, 1:2); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]
 [1] 27 28
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_psort.testpsort9#
-#argv <- list(c(-Inf, -Inf, Inf, Inf), 1:4); .Internal(psort(argv[[1]], argv[[2]]))
+#argv <- list(c(-Inf, -Inf, Inf, Inf), 1:4); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]
 [1] -Inf -Inf  Inf  Inf
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_pushBackLength.testpushBackLength1#
@@ -45237,7 +45183,7 @@ Error: only atomic vectors can be sorted
 #argv <- list(list(list(), NULL), 1, list()); .Internal(putconst(argv[[1]], argv[[2]], argv[[3]]))
 [1] 0
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_qr.testQr#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_qr.testQr#Ignored.ImplementationError#
 # { x <- qr(cbind(1:10,2:11), LAPACK=TRUE) ; round( qr.coef(x, 1:10), digits=5 ) }
 [1] 1 0
 
@@ -45277,7 +45223,7 @@ attr(,"class")
 #{ round( qr(matrix(1:6,nrow=2), LAPACK=FALSE)$qraux, digits=5 ) }
 [1] 1.44721 0.89443 1.78885
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_qr.testQr#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_qr.testQr#Ignored.ImplementationError#
 #{ round( qr(matrix(1:6,nrow=2), LAPACK=TRUE)$qr, digits=5) }
          [,1]     [,2]     [,3]
 [1,] -7.81025 -2.17663 -4.99344
@@ -45301,7 +45247,7 @@ attr(,"class")
 #{ x <- qr(c(3,1,2), LAPACK=FALSE) ; round( qr.coef(x, c(1,3,2)), digits=5 ) }
 [1] 0.71429
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_qr.testQr#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_qr.testQr#Ignored.ImplementationError#
 #{ x <- qr(c(3,1,2), LAPACK=TRUE) ; round( qr.coef(x, c(1,3,2)), digits=5 ) }
 [1] 0.71429
 
@@ -45317,11 +45263,11 @@ Error in qr.coef(x, 1:2) : right-hand side should have 10 not 2 rows
 #{ x <- qr(t(cbind(1:10,2:11)), LAPACK=FALSE) ; qr.coef(x, 1:2) }
  [1]  1  0 NA NA NA NA NA NA NA NA
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_qr.testQr#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_qr.testQr#Ignored.ImplementationError#
 #{ x <- qr(t(cbind(1:10,2:11)), LAPACK=TRUE) ; qr.coef(x, 1:2) }
  [1]  1 NA NA NA NA NA NA NA NA  0
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_qr.testqr1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_qr.testqr1#Ignored.Unimplemented#
 #argv <- list(structure(list(qr = structure(c(-2.99896066496855+0i, 0.0864255261791181+0i, -0.13772470327145+0i, -0.49098351645158+0i, 0.249389337649224+0i, 1.17331892183982+0i, -1.54960102684918+0i, -0.573648421141553+0i, 0.376760682628698+0i, 0.412090084647403+0i, 0.603959683330493+0i, -0.0216928335770876+0i, -1.2469936242596+0i, 0.224366164923213+0i, 0.341798188737913+0i, 1.04294423444024+0i, 0.270564951504877+0i, -0.315381666175534+0i, 0.787566751532822+0i, 0.229154517629245+0i, -2.25109940279642+0i, 0.530750192641659+0i, -0.0977755443891602+0i, 0.6614171819615+0i, -0.0856949989622426+0i), .Dim = c(5L, 5L), .Dimnames = list(c('1', '2', '3', '4', '5'), c('c', 'a', 'd', 'b', 'e'))), rank = 5L, qraux = c(1.50410169966891+0i, 1.21888836143069+0i, 1.71355205288103+0i, 1.90021623833265+0i, 0+0i), pivot = c(3L, 1L, 4L, 2L, 5L)), .Names = c('qr', 'rank', 'qraux', 'pivot'), class = 'qr'), structure(1:5, .Dim = c(5L, 1L))); .Internal(qr_coef_cmplx(argv[[1]], argv[[2]]))
              [,1]
 [1,] -7.390881+0i
@@ -45330,7 +45276,7 @@ Error in qr.coef(x, 1:2) : right-hand side should have 10 not 2 rows
 [4,] -7.034826+0i
 [5,]  9.866288+0i
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_qr.testqr2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_qr.testqr2#Ignored.Unimplemented#
 #argv <- list(structure(list(qr = structure(c(-2.79657712283236, 0.0791500442336917, 0.123755637403102, 0.089607462331441, 0.175462651449591, 0.0695565565709435, 0.129006956605315, 0.206583197284758, 0.0227114114395308, 0.235970456809858, 0.0914077988155571, 0.226297607634113, 0.0934594628258066, 0.0899795540097744, 0.12841549388179, 0.240520185730483, 0.233009950431413, 0.105133974880502, 0.2095512974465, 0.258964862210899, -2.07025325833148, -1.85301582498188, 0.139094572499947, 0.342556683478902, -0.102024562608463, 0.360699451256097, 0.315324737973941, 0.0873752715112826, 0.2823485467872, -0.239863332146733, -0.00369181667619238, -0.172536775168022, 0.229736826805589, 0.0852501914884386, 0.230310089401495, -0.0314168397035678, 0.0849707357385819, 0.365804687920591, -0.0536336269418447, 0.0845797169641211, -2.03746531175251, -0.489461063366758, -1.40644653583967, -0.00873041883181913, 0.0708276075409328, 0.153420226417602, -0.370069917481653, -0.112816417432651, 0.240125650075004, 0.138426195987046, 0.128552669396225, 0.217325815608225, -0.0223361051263949, -0.0526633296159945, -0.296094517820351, -0.327346352864029, -0.249917267465335, -0.0672115093838751, 0.0654426021596298, -0.240131194574062, -2.06587739268838, -0.339470951293598, -0.49608488205654, 1.14277258876071, 0.201196269542128, 0.0348254315928563, 0.145314253550005, 0.131380830586619, -0.387015716398766, 0.283849139598354, -0.0827284627849877, 0.132994279479374, -0.113393410148955, 0.0518736136418599, -0.422882666833989, -0.141635274746576, -0.181291088091223, 0.196913259592121, -0.0460107390352923, 0.15597817986415), .Dim = c(20L, 4L)), rank = 4L, qraux = c(1.32642615746455, 1.10105053486773, 1.21513331337829, 1.21397558590595), pivot = c(4L, 1L, 3L, 2L)), .Names = c('qr', 'rank', 'qraux', 'pivot'), useLAPACK = TRUE, class = 'qr'), structure(c(0.434659484773874, 0.712514678714797, 0.399994368897751, 0.325352151878178, 0.757087148027495, 0.202692255144939, 0.711121222469956, 0.121691921027377, 0.245488513959572, 0.14330437942408, 0.239629415096715, 0.0589343772735447, 0.642288258532062, 0.876269212691113, 0.778914677444845, 0.79730882588774, 0.455274453619495, 0.410084082046524, 0.810870242770761, 0.604933290276676, 0.654723928077146, 0.353197271935642, 0.270260145887733, 0.99268406117335, 0.633493264438584, 0.213208135217428, 0.129372348077595, 0.478118034312502, 0.924074469832703, 0.59876096714288, 0.976170694921166, 0.731792511884123, 0.356726912083104, 0.431473690550774, 0.148211560677737, 0.0130775754805654, 0.715566066093743, 0.103184235747904, 0.446284348610789, 0.640101045137271, 1.00298403897323, 0.272296643047594, 0.67556063386146, 0.151371688628569, 0.340151631063782, 0.431371175684035, 0.0309030100004748, 0.457057784032077, 0.880189609760418, 0.426803491590545, 0.543544612638652, 0.655281779309735, 0.526419038954191, 0.231530745956115, 0.877417415869422, 0.686553374305367, 0.847202921006829, 0.115471200458705, 0.751486539305188, 0.432544381567277, 0.682788078673184, 0.601541217649356, 0.238868677755818, 0.258165926672518, 0.729309623362496, 0.452570831403136, 0.175126768415794, 0.746698269620538, 0.104987640399486, 0.864544949028641, 0.614644971676171, 0.557159538846463, 0.328777319053188, 0.453131445450708, 0.500440972624347, 0.180866361130029, 0.529630602803081, 0.0752757457084954, 0.277755932649598, 0.212699519237503, 0.0904899418726564, 0.0829104807786643, 0.140637623313814, 0.186663761837408, 0.0510252129565924, 0.195122500695288, 0.189470667047426, 0.14745507678017, 0.160610442608595, 0.0259712139610201, 0.0604781195987016, 0.0592939835228026, 0.157146221613511, 0.0842694476991892, 0.187063216743991, 0.126278517944738, 0.175293296081945, 0.202698964001611, 0.104955473728478, 0.1719400214497, 0.293730155099183, 0.19126010988839, 0.886450943304226, 0.503339485730976, 0.877057543024421, 0.189193622441962, 0.758103052387014, 0.724498892668635, 0.943724818294868, 0.547646587016061, 0.711743867723271, 0.388905099825934, 0.100873126182705, 0.927302088588476, 0.283232500310987, 0.59057315881364, 0.110360604943708, 0.840507032116875, 0.317963684443384, 0.782851336989552, 0.267508207354695, 0.218645284883678, 0.516796836396679, 0.268950592027977, 0.181168327340856, 0.518576137488708, 0.562782935798168, 0.129156854469329, 0.256367604015395, 0.717935275984928, 0.961409936426207, 0.100140846567228, 0.763222689507529, 0.947966354666278, 0.818634688388556, 0.308292330708355, 0.649579460499808, 0.953355451114476, 0.953732650028542, 0.339979203417897), .Dim = c(20L, 7L)), TRUE); .Internal(qr_qy_real(argv[[1]], argv[[2]], argv[[3]]))
               [,1]         [,2]          [,3]         [,4]          [,5]
  [1,] -1.972274623 -1.991283109 -2.2538538845 -1.879764918 -4.966857e-01
@@ -45399,7 +45345,7 @@ Error: only atomic vectors can be sorted
 #argv <- list(c(-Inf, -Inf, -Inf, -Inf, -Inf, 0, 1, 2, 3, 4, Inf, Inf, Inf, Inf), FALSE); .Internal(qsort(argv[[1]], argv[[2]]))
  [1] -Inf -Inf -Inf -Inf -Inf    0    1    2    3    4  Inf  Inf  Inf  Inf
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_qsort.testqsort12#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_qsort.testqsort12#Ignored.ReferenceError#
 #argv <- list(FALSE, FALSE); .Internal(qsort(argv[[1]], argv[[2]]))
 [1] FALSE
 
@@ -45422,7 +45368,7 @@ Error: only atomic vectors can be sorted
 #argv <- list(numeric(0), FALSE); .Internal(qsort(argv[[1]], argv[[2]]))
 numeric(0)
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_qsort.testqsort4#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_qsort.testqsort4#Ignored.ReferenceError#
 #argv <- list(c(1.64819754690779, 0.502718643389684, 0.845467412356198, 0.467247395729231, -0.402055063696625, 0.923526703253396, -0.0080556407117813, 1.03378423761425, -0.799126981726699, 1.00423302095334, -0.311973356192691, -0.88614958536232, -1.9222548962705, 1.61970074406333, 0.519269904664384, -0.055849931834021, 0.696417610118512), TRUE); .Internal(qsort(argv[[1]], argv[[2]]))
 $x
  [1] -1.922254896 -0.886149585 -0.799126982 -0.402055064 -0.311973356
@@ -45434,7 +45380,7 @@ $ix
  [1] 13 12  9  5 11 16  7  4  2 15 17  3  6 10  8 14  1
 
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_qsort.testqsort5#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_qsort.testqsort5#Ignored.ReferenceError#
 #argv <- list(c(1L, 7L, 11L, 12L, 13L, 19L, 25L, 3L, 8L), TRUE); .Internal(qsort(argv[[1]], argv[[2]]))
 $x
 [1]  1  3  7  8 11 12 13 19 25
@@ -47024,18 +46970,22 @@ structure(integer(0), .Dim = c(3L, 0L), .Dimnames = list(NULL,
 [1,]    38     38
 [2,]     2      2
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_rcond.testrcond1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_rcond.testrcond1#Ignored.Unimplemented#
 #argv <- structure(list(x = structure(c(FALSE, TRUE, FALSE, TRUE,     TRUE, FALSE, TRUE, TRUE, TRUE, FALSE, TRUE, FALSE, TRUE,     TRUE, FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE,     TRUE, TRUE, TRUE), .Dim = c(5L, 5L))), .Names = 'x');do.call('rcond', argv)
 [1] 0
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_rcond.testrcond2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_rcond.testrcond2#Ignored.Unimplemented#
 #argv <- structure(list(x = structure(c(0.483017750550061 + (0+0i),     0.399143285583705 + (0+0i), 0.0162145779468119 + (0+0i),     0.125083255348727 + (0+0i), 0.0706489166477695 + (0+0i),     0.504917626501992 + (0+0i), 0.327679358422756 + (0+0i), 0.411779605317861 +         (0+0i), 0.202413034392521 + (0+0i), 0.307096319855191 +         (0+0i), 0.642031987197697 + (0+0i), 0.276873307069764 +         (0+0i), 0.103556007146835 + (0+0i), 0.256002754438668 +         (0+0i), 0.179779380792752 + (0+0i), 0.247455857461318 +         (0+0i), 0.215011228807271 + (0+0i), 0.493673762306571 +         (0+0i), 0.653446026844904 + (0+0i), 0.573559894575737 +         (0+0i), 0.863887825980783 + (0+0i), 0.637789903208613 +         (0+0i), 0.0137805955018848 + (0+0i), 0.529164811130613 +         (0+0i), 0.271472703316249 + (0+0i)), .Dim = c(5L, 5L))),     .Names = 'x');do.call('rcond', argv)
 [1] 5.327333e-18
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_readChar.testreadChar1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_readChar.testreadChar1#Ignored.ImplementationError#
 #argv <- structure(list(con = as.raw(c(65, 66, 67, 68, 69, 70,     71, 72, 73, 74)), nchars = c(3, 3, 0, 3, 3, 3)), .Names = c('con',     'nchars'));do.call('readChar', argv)
 [1] "ABC" "DEF" ""    "GHI" "J"
 
+##com.oracle.truffle.r.test.builtins.TestBuiltin_readChar.testreadChar1#Ignored.ImplementationError#
+#readChar(as.raw(c(65,66,67)), nchars=3);
+[1] "ABC"
+
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_regexec.testregexec1#Ignored.Unknown#
 #argv <- list('^(([^:]+)://)?([^:/]+)(:([0-9]+))?(/.*)', 'http://stat.umn.edu:80/xyz', FALSE, FALSE, FALSE); .Internal(regexec(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]]))
 [[1]]
@@ -47046,7 +46996,7 @@ attr(,"useBytes")
 [1] TRUE
 
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_regexpr.testRegExpr#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_regexpr.testRegExpr#Ignored.ImplementationError#
 #regexpr("(a)[^a]\\1", c("andrea apart", "amadeus", NA))
 [1]  6  1 NA
 attr(,"match.length")
@@ -47210,11 +47160,11 @@ attr(,"match.length")
 attr(,"useBytes")
 [1] TRUE
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_regexpr.testregexpr12#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_regexpr.testregexpr12#Output.IgnoreErrorMessage#
 #argv <- structure(list(pattern = '\d', text = c('1', 'B', '3')),     .Names = c('pattern', 'text'));do.call('regexpr', argv)
 Error: '\d' is an unrecognized escape in character string starting "'\d"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_regexpr.testregexpr13#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_regexpr.testregexpr13#Ignored.ImplementationError#
 #argv <- structure(list(pattern = '[a-z]', text = NA), .Names = c('pattern',     'text'));do.call('regexpr', argv)
 [1] NA
 attr(,"match.length")
@@ -47222,7 +47172,15 @@ attr(,"match.length")
 attr(,"useBytes")
 [1] TRUE
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_regexpr.testregexpr2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_regexpr.testregexpr13#Ignored.ImplementationError#
+#regexpr('a', NA)
+[1] NA
+attr(,"match.length")
+[1] NA
+attr(,"useBytes")
+[1] TRUE
+
+##com.oracle.truffle.r.test.builtins.TestBuiltin_regexpr.testregexpr2#Ignored.ImplementationError#
 #argv <- list('éè', '«Latin-1 accented chars»: éè øØ å<Å æ<Æ é éè', FALSE, FALSE, TRUE, TRUE); .Internal(regexpr(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))
 [1] 29
 attr(,"match.length")
@@ -47795,7 +47753,7 @@ logical(0)
 [1] "                  " "                "
 
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_rep.testrep9#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_rep.testrep9#Ignored.ReferenceError#
 #argv <- list(structure(1:4, .Label = c('A', 'B', 'C', 'D'), class = 'factor', .Names = c('a', 'b', 'c', 'd')), 10); .Internal(rep_len(argv[[1]], argv[[2]]))
  [1] A B C D A B C D A B
 Levels: A B C D
@@ -48327,7 +48285,7 @@ Error in rmultinom(1, 1, NULL) : no positive probabilities
 #{ round(1.1234+1i, 3.1+1i); }
 [1] 1.123+1i
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_round.testRound#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_round.testRound#Ignored.ImplementationError#
 #{ round(1.123456,digit=2.8) }
 [1] 1.123
 
@@ -63717,7 +63675,7 @@ Error in sin() : 0 arguments passed to 'sin' which requires 1
  [97]   0.9675728-0.3686073i   1.8890839-0.0612472i  -0.2785120-0.6319604i
 [100]  -1.5303405-0.7681922i
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_sin.testsin7#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_sin.testsin7#Output.MissingWarning#
 #argv <- list(Inf);sin(argv[[1]]);
 [1] NaN
 Warning message:
@@ -66426,7 +66384,7 @@ Error: invalid 'pattern' argument
 #{ sub(pattern = 'a*', replacement = 'x', x = 'ÄaÄ', perl = TRUE) }
 [1] "xÄaÄ"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_sub.testSub#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_sub.testSub#Ignored.ImplementationError#
 #{ sub(pattern = 'Ä*', replacement = 'x', x = 'aÄÄÄÄÄb', perl = TRUE) }
 [1] "xaÄÄÄÄÄb"
 
@@ -66476,7 +66434,7 @@ Suggests
 [577] "4" "4" "4" "2" "4" "2" "3" "4" "1" "3" "1" NA  "4" "1" "2" "2" "1" "4"
 [595] "3" "3" "4" "1" "1" "3"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_sub.testsub12#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_sub.testsub12#Output.IgnoreWhitespace#
 #argv <- list('.* : ', '', structure('Error in rnorm(2, c(1, NA)) : (converted from warning) NAs produced\n', class = 'try-error', condition = structure(list(message = '(converted from warning) NAs produced', call = quote(rnorm(2, c(1, NA)))), .Names = c('message', 'call'), class = c('simpleError', 'error', 'condition'))), FALSE, FALSE, FALSE, FALSE); .Internal(sub(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))
 [1] "(converted from warning) NAs produced\n"
 attr(,"class")
@@ -66484,7 +66442,7 @@ attr(,"class")
 attr(,"condition")
 <simpleError in rnorm(2, c(1, NA)): (converted from warning) NAs produced>
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_sub.testsub13#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_sub.testsub13#Output.IgnoreWhitespace#
 #argv <- list('.* : ', '', structure('Error in rexp(2, numeric()) : (converted from warning) NAs produced\n', class = 'try-error', condition = structure(list(message = '(converted from warning) NAs produced', call = quote(rexp(2, numeric()))), .Names = c('message', 'call'), class = c('simpleError', 'error', 'condition'))), FALSE, FALSE, FALSE, FALSE); .Internal(sub(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))
 [1] "(converted from warning) NAs produced\n"
 attr(,"class")
@@ -66492,7 +66450,7 @@ attr(,"class")
 attr(,"condition")
 <simpleError in rexp(2, numeric()): (converted from warning) NAs produced>
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_sub.testsub14#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_sub.testsub14#Output.IgnoreWhitespace#
 #argv <- list('.* : ', '', structure('Error in rnorm(2, numeric()) : (converted from warning) NAs produced\n', class = 'try-error', condition = structure(list(message = '(converted from warning) NAs produced', call = quote(rnorm(2, numeric()))), .Names = c('message', 'call'), class = c('simpleError', 'error', 'condition'))), FALSE, FALSE, FALSE, FALSE); .Internal(sub(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))
 [1] "(converted from warning) NAs produced\n"
 attr(,"class")
@@ -66500,7 +66458,7 @@ attr(,"class")
 attr(,"condition")
 <simpleError in rnorm(2, numeric()): (converted from warning) NAs produced>
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_sub.testsub15#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_sub.testsub15#Output.IgnoreWhitespace#
 #argv <- list('.* : ', '', structure('Error in rnorm(1, sd = Inf) : (converted from warning) NAs produced\n', class = 'try-error', condition = structure(list(message = '(converted from warning) NAs produced', call = quote(rnorm(1, sd = Inf))), .Names = c('message', 'call'), class = c('simpleError', 'error', 'condition'))), FALSE, FALSE, FALSE, FALSE); .Internal(sub(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))
 [1] "(converted from warning) NAs produced\n"
 attr(,"class")
@@ -67789,7 +67747,7 @@ character(0)
 #argv <- list(c('        ', '        '), 1L, c(4L, -16L)); .Internal(substr(argv[[1]], argv[[2]], argv[[3]]))
 [1] "    " ""
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_substr.testsubstr3#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_substr.testsubstr3#Ignored.ImplementationError#
 #argv <- list(structure(c('as.formula', 'coef', 'makepredictcall', 'na.fail', 'predict'), .Names = c('as.formula', 'coef', 'makepredictcall', 'na.fail', 'predict')), 1L, 6L); .Internal(substr(argv[[1]], argv[[2]], argv[[3]]))
      as.formula            coef makepredictcall         na.fail         predict
        "as.for"          "coef"        "makepr"        "na.fai"        "predic"
@@ -67798,7 +67756,7 @@ character(0)
 #argv <- list(character(0), 7L, 1000000L); .Internal(substr(argv[[1]], argv[[2]], argv[[3]]))
 character(0)
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_substr.testsubstr5#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_substr.testsubstr5#Ignored.ReferenceError#
 #argv <- list(structure('to be supported).', Rd_tag = 'TEXT'), 17L, 17L); .Internal(substr(argv[[1]], argv[[2]], argv[[3]]))
 [1] "."
 attr(,"Rd_tag")
@@ -67812,7 +67770,7 @@ character(0)
 #argv <- list('', 1L, 2L); .Internal(substr(argv[[1]], argv[[2]], argv[[3]]))
 [1] ""
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_substr.testsubstr8#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_substr.testsubstr8#Ignored.ImplementationError#
 #argv <- list(structure(c('model.frame', 'predict', 'residuals'), .Names = c('model.frame', 'predict', 'residuals')), 1L, 6L); .Internal(substr(argv[[1]], argv[[2]], argv[[3]]))
 model.frame     predict   residuals
    "model."    "predic"    "residu"
@@ -68274,7 +68232,7 @@ Error in sum(as.raw(42), as.raw(7)) : invalid 'type' (raw) of argument
 #argv <- list(1073741824L, 1073741824L, 0);sum(argv[[1]],argv[[2]],argv[[3]]);
 [1] 2147483648
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_sum.testsum16#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_sum.testsum16#Output.IgnoreCase#
 #argv <- list(1073741824L, 1073741824L);sum(argv[[1]],argv[[2]]);
 [1] NA
 Warning message:
@@ -69094,7 +69052,7 @@ Error in tan() : 0 arguments passed to 'tan' which requires 1
 [91] 1.28636938 1.31326370 1.34087383 1.36923448 1.39838259 1.42835749
 [97] 1.45920113 1.49095827 1.52367674
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_tan.testtan3#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_tan.testtan3#Output.IgnoreWarningMessage#
 #argv <- list(Inf);tan(argv[[1]]);
 [1] NaN
 Warning message:
@@ -69124,7 +69082,7 @@ In tan(argv[[1]]) : NaNs produced
  [96] -7.265425e-01 -5.497547e-01 -3.959280e-01 -2.567564e-01 -1.263294e-01
 [101]  3.307784e-15
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_tan.testtan5#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_tan.testtan5#Ignored.ImplementationError#
 #argv <- list(1+1000i);tan(argv[[1]]);
 [1] 0+1i
 
@@ -70092,14 +70050,14 @@ tracemem[0x7ff2cd448c90 -> 0x7ff2cd448ae0]:
 tracemem[0x7f818486bc90 -> 0x7f818486bae0]:
 tracemem[0x7f818486bc90 -> 0x7f818486ba50]:
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_trigamma.testtrigamma1#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_trigamma.testtrigamma1#Ignored.Unimplemented#
 #argv <- list(structure(c(9.16602362697115, 1.16602362697115, 3.16602362697115, 6.16602362697115, 6.16602362697115, 2.16602362697115, 8.16602362697115, 1.16602362697115, 7.16602362697115, 19.1660236269712, 2.16602362697115), .Names = c('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11')));trigamma(argv[[1]]);
          1          2          3          4          5          6          7
 0.11526572 1.31953765 0.37088896 0.17603737 0.17603737 0.58403321 0.13026184
          8          9         10         11
 1.31953765 0.14973532 0.05356047 0.58403321
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_trigamma.testtrigamma2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_trigamma.testtrigamma2#Ignored.Unimplemented#
 #argv <- list(structure(c(3.23454845691922, 12.2345484569192, 15.2345484569192, 6.23454845691922, 6.23454845691922, 14.2345484569192, 21.2345484569192, 23.2345484569192, 7.23454845691922, 7.23454845691922, 16.2345484569192, 8.23454845691922, 15.2345484569192, 7.23454845691922, 33.2345484569192, 54.2345484569192, 58.2345484569192, 15.2345484569192, 17.2345484569192, 17.2345484569192, 18.2345484569192, 41.2345484569192, 44.2345484569192, 47.2345484569192, 9.23454845691922, 24.2345484569192, 24.2345484569192, 29.2345484569192, 35.2345484569192, 37.2345484569192, 39.2345484569192, 4.23454845691922, 6.23454845691922, 12.2345484569192, 25.2345484569192, 46.2345484569192, 6.23454845691922, 7.23454845691922, 7.23454845691922, 10.2345484569192, 14.2345484569192, 24.2345484569192, 26.2345484569192, 33.2345484569192, 54.2345484569192, 55.2345484569192, 6.23454845691922, 6.23454845691922, 12.2345484569192, 18.2345484569192, 20.2345484569192, 9.23454845691922, 14.2345484569192, 15.2345484569192, 21.2345484569192, 48.2345484569192, 49.2345484569192, 61.2345484569192, 82.2345484569192, 3.23454845691922, 1.23454845691922, 3.23454845691922, 4.23454845691922, 6.23454845691922, 11.2345484569192, 15.2345484569192, 22.2345484569192, 37.2345484569192, 41.2345484569192, 7.23454845691922, 18.2345484569192, 68.2345484569192, 1.23454845691922, 1.23454845691922, 3.23454845691922, 8.23454845691922, 12.2345484569192, 13.2345484569192, 1.23454845691922, 1.23454845691922, 6.23454845691922, 6.23454845691922, 6.23454845691922, 12.2345484569192, 18.2345484569192, 4.23454845691922, 5.23454845691922, 23.2345484569192, 31.2345484569192, 37.2345484569192, 9.23454845691922, 1.23454845691922, 2.23454845691922, 6.23454845691922, 8.23454845691922, 17.2345484569192, 28.2345484569192, 1.23454845691922, 31.2345484569192, 11.2345484569192, 15.2345484569192, 28.2345484569192, 42.2345484569192, 70.2345484569192, 26.2345484569192, 11.2345484569192, 12.2345484569192, 21.2345484569192, 34.2345484569192, 6.23454845691922, 8.23454845691922, 1.23454845691922, 2.23454845691922, 6.23454845691922, 6.23454845691922, 6.23454845691922, 6.23454845691922, 8.23454845691922, 12.2345484569192, 16.2345484569192, 6.23454845691922, 15.2345484569192, 7.23454845691922, 7.23454845691922, 8.23454845691922, 29.2345484569192, 1.23454845691922, 6.23454845691922, 15.2345484569192, 3.23454845691922, 3.23454845691922, 4.23454845691922, 9.23454845691922, 11.2345484569192, 13.2345484569192, 2.23454845691922, 2.23454845691922, 10.2345484569192, 23.2345484569192, 4.23454845691922, 4.23454845691922, 6.23454845691922, 16.2345484569192, 19.2345484569192, 23.2345484569192, 38.2345484569192), .Names = c('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '90', '91', '92', '93', '94', '95', '96', '97', '98', '99', '100', '101', '102', '103', '104', '105', '106', '107', '108', '109', '110', '111', '112', '113', '114', '115', '116', '117', '118', '119', '120', '121', '122', '123', '124', '125', '126', '127', '128', '129', '130', '131', '132', '133', '134', '135', '136', '137', '138', '139', '140', '141', '142', '143', '144', '145', '146')));trigamma(argv[[1]]);
          1          2          3          4          5          6          7
 0.36178937 0.08516701 0.06784170 0.17394434 0.17394434 0.07277699 0.04821934
@@ -70144,11 +70102,11 @@ tracemem[0x7f818486bc90 -> 0x7f818486ba50]:
        141        142        143        144        145        146
 0.26620812 0.17394434 0.06353305 0.05336466 0.04397883 0.02649936
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_trigamma.testtrigamma3#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_trigamma.testtrigamma3#Ignored.Unimplemented#
 #argv <- list(c(1e+30, 1e+60, 1e+90, 1e+120, 1e+150, 1e+180, 1e+210, 1e+240, 1e+270, 1e+300));trigamma(argv[[1]]);
  [1]  1e-30  1e-60  1e-90 1e-120 1e-150 1e-180 1e-210 1e-240 1e-270 1e-300
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_trigamma.testtrigamma4#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_trigamma.testtrigamma4#Ignored.Unimplemented#
 #argv <- list(c(-100, -3, -2, -1, 0, 1, 2, -99.9, -7.7, -3, -2.9, -2.8, -2.7, -2.6, -2.5, -2.4, -2.3, -2.2, -2.1, -2, -1.9, -1.8, -1.7, -1.6, -1.5, -1.4, -1.3, -1.2, -1.1, -1, -0.9, -0.8, -0.7, -0.6, -0.5, -0.4, -0.3, -0.2, -0.0999999999999996, 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 5.1, 77));trigamma(argv[[1]]);
  [1]          Inf          Inf          Inf          Inf          Inf
  [6]   1.64493407   0.64493407 103.34587903  14.95761284          Inf
@@ -70503,7 +70461,7 @@ c d
 attr(,"class")
 [1] "omit"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_unclass.testunclass12#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_unclass.testunclass12#Ignored.ReferenceError#
 #argv <- list(structure(list(`log(x)` = c(0, 0.693147180559945, 1.09861228866811, 1.38629436111989, 1.6094379124341, 1.79175946922805, 1.94591014905531, 2.07944154167984, 2.19722457733622, 2.30258509299405, 2.39789527279837, 2.484906649788, 2.56494935746154, 2.63905732961526, 2.70805020110221, 2.77258872223978, 2.83321334405622, 2.89037175789616, 2.94443897916644, 2.99573227355399, 3.04452243772342, 3.09104245335832, 3.13549421592915, 3.17805383034795, 3.2188758248682, 3.25809653802148, 3.29583686600433, 3.3322045101752, 3.36729582998647, 3.40119738166216, 3.43398720448515, 3.46573590279973, 3.49650756146648, 3.52636052461616, 3.55534806148941, 3.58351893845611, 3.61091791264422, 3.63758615972639, 3.66356164612965, 3.68887945411394, 3.71357206670431, 3.73766961828337, 3.76120011569356, 3.78418963391826, 3.80666248977032, 3.8286413964891, 3.85014760171006, 3.87120101090789, 3.89182029811063, 3.91202300542815, 3.93182563272433, 3.95124371858143, 3.97029191355212, 3.98898404656427, 4.00733318523247, 4.02535169073515, 4.04305126783455, 4.06044301054642, 4.07753744390572, 4.0943445622221, 4.11087386417331, 4.12713438504509, 4.14313472639153, 4.15888308335967, 4.17438726989564, 4.18965474202643, 4.20469261939097, 4.21950770517611, 4.23410650459726, 4.24849524204936, 4.26267987704132, 4.27666611901606, 4.29045944114839, 4.30406509320417, 4.31748811353631, 4.33073334028633, 4.34380542185368, 4.35670882668959, 4.36944785246702, 4.38202663467388, 4.39444915467244, 4.40671924726425, 4.4188406077966, 4.43081679884331, 4.44265125649032, 4.45434729625351, 4.46590811865458, 4.47733681447821, 4.48863636973214, 4.49980967033027, 4.51085950651685, 4.52178857704904, 4.53259949315326, 4.54329478227, 4.55387689160054, 4.56434819146784, 4.57471097850338, 4.58496747867057, 4.59511985013459, 4.60517018598809), `log(z)` = c(2.39789527279837, 2.484906649788, 2.56494935746154, 2.63905732961526, 2.70805020110221, 2.77258872223978, 2.83321334405622, 2.89037175789616, 2.94443897916644, 2.99573227355399, 3.04452243772342, 3.09104245335832, 3.13549421592915, 3.17805383034795, 3.2188758248682, 3.25809653802148, 3.29583686600433, 3.3322045101752, 3.36729582998647, 3.40119738166216, 3.43398720448515, 3.46573590279973, 3.49650756146648, 3.52636052461616, 3.55534806148941, 3.58351893845611, 3.61091791264422, 3.63758615972639, 3.66356164612965, 3.68887945411394, 3.71357206670431, 3.73766961828337, 3.76120011569356, 3.78418963391826, 3.80666248977032, 3.8286413964891, 3.85014760171006, 3.87120101090789, 3.89182029811063, 3.91202300542815, 3.93182563272433, 3.95124371858143, 3.97029191355212, 3.98898404656427, 4.00733318523247, 4.02535169073515, 4.04305126783455, 4.06044301054642, 4.07753744390572, 4.0943445622221, 4.11087386417331, 4.12713438504509, 4.14313472639153, 4.15888308335967, 4.17438726989564, 4.18965474202643, 4.20469261939097, 4.21950770517611, 4.23410650459726, 4.24849524204936, 4.26267987704132, 4.27666611901606, 4.29045944114839, 4.30406509320417, 4.31748811353631, 4.33073334028633, 4.34380542185368, 4.35670882668959, 4.36944785246702, 4.38202663467388, 4.39444915467244, 4.40671924726425, 4.4188406077966, 4.43081679884331, 4.44265125649032, 4.45434729625351, 4.46590811865458, 4.47733681447821, 4.48863636973214, 4.49980967033027, 4.51085950651685, 4.52178857704904, 4.53259949315326, 4.54329478227, 4.55387689160054, 4.56434819146784, 4.57471097850338, 4.58496747867057, 4.59511985013459, 4.60517018598809, 4.61512051684126, 4.62497281328427, 4.63472898822964, 4.64439089914137, 4.65396035015752, 4.66343909411207, 4.67282883446191, 4.68213122712422, 4.69134788222914, 4.70048036579242)), .Names = c('log(x)', 'log(z)'), row.names = c(NA, 100L), terms = quote(~log(x) + log(z))));unclass(argv[[1]]);
 $`log(x)`
   [1] 0.0000000 0.6931472 1.0986123 1.3862944 1.6094379 1.7917595 1.9459101
@@ -70694,7 +70652,7 @@ $a
 attr(,"row.names")
 [1] 3 1 2
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_unclass.testunclass2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_unclass.testunclass2#Output.IgnoreWhitespace#
 #argv <- list(structure(list(Employed = c(60.323, 61.122, 60.171, 61.187, 63.221, 63.639, 64.989, 63.761, 66.019, 67.857, 68.169, 66.513, 68.655, 69.564, 69.331, 70.551), GNP.deflator = c(83, 88.5, 88.2, 89.5, 96.2, 98.1, 99, 100, 101.2, 104.6, 108.4, 110.8, 112.6, 114.2, 115.7, 116.9), GNP = c(234.289, 259.426, 258.054, 284.599, 328.975, 346.999, 365.385, 363.112, 397.469, 419.18, 442.769, 444.546, 482.704, 502.601, 518.173, 554.894), Unemployed = c(235.6, 232.5, 368.2, 335.1, 209.9, 193.2, 187, 357.8, 290.4, 282.2, 293.6, 468.1, 381.3, 393.1, 480.6, 400.7), Armed.Forces = c(159, 145.6, 161.6, 165, 309.9, 359.4, 354.7, 335, 304.8, 285.7, 279.8, 263.7, 255.2, 251.4, 257.2, 282.7), Population = c(107.608, 108.632, 109.773, 110.929, 112.075, 113.27, 115.094, 116.219, 117.388, 118.734, 120.445, 121.95, 123.366, 125.368, 127.852, 130.081), Year = 1947:1962), .Names = c('Employed', 'GNP.deflator', 'GNP', 'Unemployed', 'Armed.Forces', 'Population', 'Year'), terms = quote(Employed ~ GNP.deflator + GNP + Unemployed +     Armed.Forces + Population + Year), row.names = 1947:1962));unclass(argv[[1]]);
 $Employed
  [1] 60.323 61.122 60.171 61.187 63.221 63.639 64.989 63.761 66.019 67.857
@@ -70813,7 +70771,7 @@ y ~ a + b:c + d + e + e:d
  "3rd Qu.:49.25  " NA
  "Max.   :70.00  " NA
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_unclass.testunclass25#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_unclass.testunclass25#Ignored.ReferenceError#
 #argv <- list(structure(list(srcfile = '/home/lzhao/tmp/RtmpYl9n1I/R.INSTALL2aa24b6697e5/MASS/R/negbin.R', frow = 135L, lrow = 137L), .Names = c('srcfile', 'frow', 'lrow'), row.names = c(NA, -1L)));unclass(argv[[1]]);
 $srcfile
 [1] "/home/lzhao/tmp/RtmpYl9n1I/R.INSTALL2aa24b6697e5/MASS/R/negbin.R"
@@ -70908,7 +70866,7 @@ Levels: no yes
 attr(,"row.names")
 [1] 7
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_unclass.testunclass3#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_unclass.testunclass3#Ignored.ReferenceError#
 #argv <- list(structure(list(x = c(TRUE, FALSE, TRUE, FALSE, TRUE, FALSE, TRUE, FALSE, TRUE, FALSE)), .Names = 'x', row.names = c(NA, 10L)));unclass(argv[[1]]);
 $x
  [1]  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE
@@ -70916,7 +70874,7 @@ $x
 attr(,"row.names")
  [1]  1  2  3  4  5  6  7  8  9 10
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_unclass.testunclass31#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_unclass.testunclass31#Ignored.ReferenceError#
 #argv <- list(structure(list(), .Names = character(0), row.names = c(NA, -10L), terms = quote(~0)));unclass(argv[[1]]);
 named list()
 attr(,"row.names")
@@ -70934,7 +70892,7 @@ breaks ~ (wool + tension)^2
    1    2 <NA>
    1    2    1
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_unclass.testunclass34#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_unclass.testunclass34#Ignored.ReferenceError#
 #argv <- list(structure(list(`cbind(A, B, C, D)` = structure(c(0.696706709347165, 0.362357754476673, -0.0291995223012888, 0.696706709347165, 0.696706709347165, -0.0291995223012888, 0.696706709347165, -0.0291995223012888, 0.362357754476673, 0.696706709347165, -0.0291995223012888, 0.362357754476673, -0.416146836547142, 0.362357754476673, 0.696706709347165, 0.696706709347165, 0.362357754476673, -0.416146836547142, -0.0291995223012888, -0.416146836547142, 0.696706709347165, -0.416146836547142, 0.362357754476673, -0.0291995223012888, 0.717356090899523, 0.932039085967226, 0.999573603041505, 0.717356090899523, 0.717356090899523, 0.999573603041505, 0.717356090899523, 0.999573603041505, 0.932039085967226, 0.717356090899523, 0.999573603041505, 0.932039085967226, 0.909297426825682, 0.932039085967226, 0.717356090899523, 0.717356090899523, 0.932039085967226, 0.909297426825682, 0.999573603041505, 0.909297426825682, 0.717356090899523, 0.909297426825682, 0.932039085967226, 0.999573603041505, -0.0291995223012888, -0.737393715541246, -0.998294775794753, -0.0291995223012888, -0.0291995223012888, -0.998294775794753, -0.0291995223012888, -0.998294775794753, -0.737393715541246, -0.0291995223012888, -0.998294775794753, -0.737393715541246, -0.653643620863612, -0.737393715541246, -0.0291995223012888, -0.0291995223012888, -0.737393715541246, -0.653643620863612, -0.998294775794753, -0.653643620863612, -0.0291995223012888, -0.653643620863612, -0.737393715541246, -0.998294775794753, 0.999573603041505, 0.67546318055115, -0.0583741434275801, 0.999573603041505, 0.999573603041505, -0.0583741434275801, 0.999573603041505, -0.0583741434275801, 0.67546318055115, 0.999573603041505, -0.0583741434275801, 0.67546318055115, -0.756802495307928, 0.67546318055115, 0.999573603041505, 0.999573603041505, 0.67546318055115, -0.756802495307928, -0.0583741434275801, -0.756802495307928, 0.999573603041505, -0.756802495307928, 0.67546318055115, -0.0583741434275801), .Dim = c(24L, 4L), .Dimnames = list(NULL, c('A', 'B', 'C', 'D'))), groups = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), .Label = c('1', '2', '3'), class = 'factor')), .Names = c('cbind(A, B, C, D)', 'groups'), terms = quote(cbind(A, B, C, D) ~ groups), row.names = c(NA, 24L)));unclass(argv[[1]]);
 $`cbind(A, B, C, D)`
                 A         B           C           D
@@ -70988,7 +70946,7 @@ attr(,"terms")
       Min.    1st Qu.     Median       Mean    3rd Qu.       Max.
  2.671e+03  6.026e+77 3.161e+152 3.501e+299 2.409e+227 1.529e+302
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_unclass.testunclass4#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_unclass.testunclass4#Ignored.ReferenceError#
 #argv <- list(structure(list(X1.10 = 1:10, z = structure(list(x = 1:10, yyy = 11:20), .Names = c('x', 'yyy'), row.names = c(NA, -10L), class = 'data.frame')), .Names = c('X1.10', 'z'), row.names = c(NA, -10L)));unclass(argv[[1]]);
 $X1.10
  [1]  1  2  3  4  5  6  7  8  9 10
@@ -71067,7 +71025,7 @@ Levels: abc def
 attr(,"row.names")
 [1] "1" "2" "3"
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_unclass.testunclass8#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_unclass.testunclass8#Ignored.ReferenceError#
 #argv <- list(structure(list(`cbind(w = weight, w2 = weight^2)` = structure(c(4.17, 5.58, 5.18, 6.11, 4.5, 4.61, 5.17, 4.53, 5.33, 5.14, 4.81, 4.17, 4.41, 3.59, 5.87, 3.83, 6.03, 4.89, 4.32, 4.69, 17.3889, 31.1364, 26.8324, 37.3321, 20.25, 21.2521, 26.7289, 20.5209, 28.4089, 26.4196, 23.1361, 17.3889, 19.4481, 12.8881, 34.4569, 14.6689, 36.3609, 23.9121, 18.6624, 21.9961), .Dim = c(20L, 2L), .Dimnames = list(NULL, c('w', 'w2'))), group = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c('Ctl', 'Trt'), class = 'factor')), .Names = c('cbind(w = weight, w2 = weight^2)', 'group'), terms = quote(cbind(w = weight, w2 = weight^2) ~ group), row.names = c(NA, 20L)));unclass(argv[[1]]);
 $`cbind(w = weight, w2 = weight^2)`
          w      w2
@@ -71112,7 +71070,7 @@ attr(,"row.names")
  "3rd Qu.: 7.75  " "3rd Qu.: 7.75    3rd Qu.:17.75  "
  "Max.   :10.00  " "Max.   :10.00    Max.   :20.00  "
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_unique.testUnique#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_unique.testUnique#Ignored.ReferenceError#
 #{ unique(c(1,2,1), incomparables=function() 42) }
 Error in unique.default(c(1, 2, 1), incomparables = function() 42) :
   cannot coerce type 'closure' to vector of type 'double'
@@ -71187,7 +71145,7 @@ NULL
 #argv <- list(structure(c(1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4), .Tsp = c(1945, 1974.75, 4), class = 'ts'), FALSE, FALSE, NA); .Internal(unique(argv[[1]], argv[[2]], argv[[3]], argv[[4]]))
 [1] 1 2 3 4
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_unique.testunique2#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_unique.testunique2#Ignored.ImplementationError#
 #argv <- list(c('a', 'b', 'c', 'c', 'b', 'a', 'NA', 'd', 'd', NA), FALSE, FALSE, NA); .Internal(unique(argv[[1]], argv[[2]], argv[[3]], argv[[4]]))
 [1] "a"  "b"  "c"  "NA" "d"  NA
 
@@ -73356,7 +73314,7 @@ attr(,"id")
 #argv <- list(list());xtfrm(argv[[1]]);
 integer(0)
 
-##com.oracle.truffle.r.test.builtins.TestBuiltin_xtfrm.testxtfrm5#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestBuiltin_xtfrm.testxtfrm5#Ignored.ImplementationError#
 #argv <- list(NULL);xtfrm(argv[[1]]);
 integer(0)
 Warning message:
@@ -74713,7 +74671,7 @@ $vectors
 #{ r <- eigen(matrix(c(1,2,3,4), nrow=2), only.values=FALSE); round( r$values, digits=5 ) }
 [1]  5.37228 -0.37228
 
-##com.oracle.truffle.r.test.builtins.TestMiscBuiltins.testEigen#Ignored.Unknown#
+##com.oracle.truffle.r.test.builtins.TestMiscBuiltins.testEigen#
 #{ r <- eigen(matrix(c(1,2,3,4), nrow=2), only.values=FALSE); round( r$vectors, digits=5 ) }
          [,1]     [,2]
 [1,] -0.56577 -0.90938
@@ -77713,7 +77671,7 @@ Error in f() : fred
 [1] "Hello"
 [1] 1
 
-##com.oracle.truffle.r.test.library.base.TestConditionHandling.testTryCatch#Ignored.Unknown#
+##com.oracle.truffle.r.test.library.base.TestConditionHandling.testTryCatch#Ignored.ImplementationError#
 #{ tryCatch(stop("fred"), error = function(e) e, finally = print("Hello"))}
 [1] "Hello"
 <simpleError in doTryCatch(return(expr), name, parentenv, handler): fred>
@@ -78639,7 +78597,7 @@ Error in rm("foo", envir = baseenv()) :
 #{ x <- 1; ls(globalenv()) }
 [1] "x"
 
-##com.oracle.truffle.r.test.library.base.TestEnvironments.testEnvironmentAssignLocked#Ignored.Unknown#Output.IgnoreErrorContext#
+##com.oracle.truffle.r.test.library.base.TestEnvironments.testEnvironmentAssignLocked#Ignored.Unimplemented#Output.IgnoreErrorContext#
 #{ x <- 1; lockBinding("x", globalenv()); x <- 1 }
 Error: cannot change value of locked binding for 'x'
 
@@ -79387,103 +79345,103 @@ Error in fun(1:100) : could not find function "makeCluster"
 #{ 3L %/% 2L }
 [1] 1
 
-##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.ImplementationError#Output.IgnoreWarningContext#
 #{ 1:3 + 2147483647L }
 [1] NA NA NA
 Warning message:
 In 1:3 + 2147483647L : NAs produced by integer overflow
 
-##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.ImplementationError#Output.IgnoreWarningContext#
 #{ 1:3 + c(2147483647L,2147483647L,2147483647L) }
 [1] NA NA NA
 Warning message:
 In 1:3 + c(2147483647L, 2147483647L, 2147483647L) :
   NAs produced by integer overflow
 
-##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.ImplementationError#Output.IgnoreWarningContext#
 #{ 1:4 + c(2147483647L,2147483647L) }
 [1] NA NA NA NA
 Warning message:
 In 1:4 + c(2147483647L, 2147483647L) : NAs produced by integer overflow
 
-##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.ImplementationError#Output.IgnoreWarningContext#
 #{ 2147483647L + 1:3 }
 [1] NA NA NA
 Warning message:
 In 2147483647L + 1:3 : NAs produced by integer overflow
 
-##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.ImplementationError#Output.IgnoreWarningContext#
 #{ 2147483647L + c(1L,2L,3L) }
 [1] NA NA NA
 Warning message:
 In 2147483647L + c(1L, 2L, 3L) : NAs produced by integer overflow
 
-##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.ImplementationError#Output.IgnoreWarningContext#
 #{ c(1L,2L,3L) + 2147483647L }
 [1] NA NA NA
 Warning message:
 In c(1L, 2L, 3L) + 2147483647L : NAs produced by integer overflow
 
-##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.ImplementationError#Output.IgnoreWarningContext#
 #{ c(1L,2L,3L) + c(2147483647L,2147483647L,2147483647L) }
 [1] NA NA NA
 Warning message:
 In c(1L, 2L, 3L) + c(2147483647L, 2147483647L, 2147483647L) :
   NAs produced by integer overflow
 
-##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.ImplementationError#Output.IgnoreWarningContext#
 #{ c(1L,2L,3L,4L) + c(2147483647L,2147483647L) }
 [1] NA NA NA NA
 Warning message:
 In c(1L, 2L, 3L, 4L) + c(2147483647L, 2147483647L) :
   NAs produced by integer overflow
 
-##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.ImplementationError#Output.IgnoreWarningContext#
 #{ c(2147483647L,2147483647L) + 1:4 }
 [1] NA NA NA NA
 Warning message:
 In c(2147483647L, 2147483647L) + 1:4 : NAs produced by integer overflow
 
-##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.ImplementationError#Output.IgnoreWarningContext#
 #{ c(2147483647L,2147483647L) + c(1L,2L,3L,4L) }
 [1] NA NA NA NA
 Warning message:
 In c(2147483647L, 2147483647L) + c(1L, 2L, 3L, 4L) :
   NAs produced by integer overflow
 
-##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.ImplementationError#Output.IgnoreWarningContext#
 #{ c(2147483647L,2147483647L,2147483647L) + 1:3 }
 [1] NA NA NA
 Warning message:
 In c(2147483647L, 2147483647L, 2147483647L) + 1:3 :
   NAs produced by integer overflow
 
-##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.ImplementationError#Output.IgnoreWarningContext#
 #{ c(2147483647L,2147483647L,2147483647L) + c(1L,2L,3L) }
 [1] NA NA NA
 Warning message:
 In c(2147483647L, 2147483647L, 2147483647L) + c(1L, 2L, 3L) :
   NAs produced by integer overflow
 
-##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Output.MissingWarning#
 #{ x <- -2147483647L ; x - 1L }
 [1] NA
 Warning message:
 In x - 1L : NAs produced by integer overflow
 
-##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Output.MissingWarning#
 #{ x <- -2147483647L ; x - 2L }
 [1] NA
 Warning message:
 In x - 2L : NAs produced by integer overflow
 
-##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Output.MissingWarning#
 #{ x <- 2147483647L ; x * x }
 [1] NA
 Warning message:
 In x * x : NAs produced by integer overflow
 
-##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Ignored.Unknown#Output.IgnoreWarningContext#
+##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testIntegerOverflow#Output.MissingWarning#
 #{ x <- 2147483647L ; x + 1L }
 [1] NA
 Warning message:
@@ -80530,7 +80488,7 @@ raw(0)
 #{ 1000000000L*1000000000 }
 [1] 1e+18
 
-##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testScalarsReal#Ignored.Unknown#
+##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testScalarsReal#Output.MissingWarning#
 #{ 1000000000L*1000000000L }
 [1] NA
 Warning message:
@@ -85770,15 +85728,15 @@ Error: no loop for break/next, jumping to top level
 #{ while (1 < NA) { 1 } }
 Error in while (1 < NA) { : missing value where TRUE/FALSE needed
 
-##com.oracle.truffle.r.test.library.base.TestSimpleLoop.testLoopsErrorsIgnore#Ignored.Unknown#Output.IgnoreErrorContext#
+##com.oracle.truffle.r.test.library.base.TestSimpleLoop.testLoopsErrorsIgnore#Output.IgnoreErrorMessage#
 #{ l <- function(s) { for(i in s) { x <- i } ; x } ; l(1:3) ; s <- function(){} ; l(s) ; x }
 Error in for (i in s) { : invalid for() loop sequence
 
-##com.oracle.truffle.r.test.library.base.TestSimpleLoop.testLoopsErrorsIgnore#Ignored.Unknown#Output.IgnoreErrorContext#
+##com.oracle.truffle.r.test.library.base.TestSimpleLoop.testLoopsErrorsIgnore#Output.IgnoreErrorMessage#
 #{ l <- quote(for(i in s) { x <- i }) ; s <- 1:3 ; eval(l) ; s <- function(){} ; eval(l) ; x }
 Error in for (i in s) { : invalid for() loop sequence
 
-##com.oracle.truffle.r.test.library.base.TestSimpleLoop.testLoopsErrorsIgnore#Ignored.Unknown#Output.IgnoreErrorContext#
+##com.oracle.truffle.r.test.library.base.TestSimpleLoop.testLoopsErrorsIgnore#Output.IgnoreErrorMessage#
 #{ l <- quote({ for(i in s) { x <- i } ; x }) ; f <- function(s) { eval(l) } ; f(1:3) ; s <- function(){} ; f(s) ; x }
 Error in eval(expr, envir, enclos) : object 'x' not found
 
@@ -120603,7 +120561,7 @@ Error in z[[list()]] :
 Error in z[[list()]] <- 42 :
   attempt to select less than one element in OneIndex
 
-##com.oracle.truffle.r.test.library.base.TestSimpleVectors.testListIndex#Ignored.Unknown#Output.IgnoreErrorContext#
+##com.oracle.truffle.r.test.library.base.TestSimpleVectors.testListIndex#Output.IgnoreErrorMessage#
 #{ z<-1:4; z[[list()]]<-NULL }
 Error in z[[list()]] <- NULL :
   attempt to select less than one element in OneIndex
@@ -124696,7 +124654,7 @@ Error in x[[0]] <- c(5) :
 #{ x <- NULL; x[[1]] <- c(); x; }
 NULL
 
-##com.oracle.truffle.r.test.library.base.TestSimpleVectors.testNullUpdate#Ignored.Unknown#
+##com.oracle.truffle.r.test.library.base.TestSimpleVectors.testNullUpdate#Ignored.Unimplemented#
 #{ x <- NULL; x[[1]] <- c(1,5); x; }
 [[1]]
 [1] 1 5
@@ -141176,7 +141134,7 @@ B    5    8    4    7    6    2    6
 [2,]    2    0    0    1    0
 [3,]    1    2    3    2    3
 
-##com.oracle.truffle.r.test.library.stats.TestSplineFunctions.basicSplineCoef#Ignored.WrongCaller#
+##com.oracle.truffle.r.test.library.stats.TestSplineFunctions.basicSplineCoef#
 #.Call(stats:::C_SplineCoef, 'abc', c(1:5), c(1:5))
 $method
 [1] NA
@@ -141603,7 +141561,7 @@ $d
 [1] 0 0 0 0 0
 
 
-##com.oracle.truffle.r.test.library.stats.TestSplineFunctions.basicSplineCoef#Ignored.WrongCaller#
+##com.oracle.truffle.r.test.library.stats.TestSplineFunctions.basicSplineCoef#
 #.Call(stats:::C_SplineCoef, c('a'), c(1), c(1))
 $method
 [1] NA
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/TestBase.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/TestBase.java
index 6fa10c3bd8c69b28d712e5a989b84171be46d764..e52b7226f056a3623ab659264c67f766e4ef41a5 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/TestBase.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/TestBase.java
@@ -64,6 +64,16 @@ import com.oracle.truffle.r.test.generate.TestOutputManager;
 public class TestBase {
 
     public static final boolean ProcessFailedTests = Boolean.getBoolean("ProcessFailedTests");
+    /**
+     * When {@link #ProcessFailedTests} is set to true this flag further limits the tests executed
+     * to those with {@link Ignored#Unknown} flag.
+     */
+    public static final boolean IgnoredUnknownOnlyTests = Boolean.getBoolean("IgnoredUnknownOnlyTests");
+    /**
+     * When {@link #ProcessFailedTests} is set to true show the same results like for regular tests
+     * (normally just statistical info would be shown).
+     */
+    public static final boolean ShowFailedTestsResults = Boolean.getBoolean("ShowFailedTestsResults");
 
     /**
      * See {@link com.oracle.truffle.r.test.builtins.TestTestBase} for examples.
@@ -73,8 +83,10 @@ public class TestBase {
         IgnoreErrorContext, // the error context is ignored (e.g., "a+b" vs. "a + b")
         IgnoreErrorMessage, // the actual error message is ignored
         IgnoreWarningContext, // the warning context is ignored
+        IgnoreWarningMessage, // the warning message is ignored
         MayIgnoreErrorContext, // like IgnoreErrorContext, but no warning if the messages match
         MayIgnoreWarningContext,
+        MissingWarning, // Test output is correct but a warning msg is missing in FastR output
         ContainsReferences, // replaces references in form of 0xbcdef1 for numbers
         IgnoreWhitespace, // removes all whitespace from the whole output
         IgnoreCase, // ignores upper/lower case differences
@@ -97,7 +109,6 @@ public class TestBase {
         ImplementationError("tests that fail because of bugs in other parts of the runtime"),
         ReferenceError("tests that fail because of faulty behavior in the reference implementation that we don't want to emulate"),
         SideEffects("tests that are ignored because they would interfere with other tests"),
-        MissingWarning("tests that fail because of missing warnings"),
         MissingBuiltin("tests that fail because of missing builtins"),
         Unimplemented("tests that fail because of missing functionality");
 
@@ -469,12 +480,12 @@ public class TestBase {
     }
 
     // support testing of FastR-only functionality (equivalent GNU R output provided separately)
-    protected void assertEvalFastR(TestTrait trait1, String input, String gnuROutput) {
-        evalAndCompare(getAssertEvalFastR(gnuROutput, input), trait1);
+    protected boolean assertEvalFastR(TestTrait trait1, String input, String gnuROutput) {
+        return evalAndCompare(getAssertEvalFastR(gnuROutput, input), trait1);
     }
 
-    protected void assertEvalFastR(String input, String gnuROutput) {
-        evalAndCompare(getAssertEvalFastR(gnuROutput, input));
+    protected boolean assertEvalFastR(String input, String gnuROutput) {
+        return evalAndCompare(getAssertEvalFastR(gnuROutput, input));
     }
 
     private static String[] getAssertEvalFastR(String gnuROutput, String input) {
@@ -552,7 +563,7 @@ public class TestBase {
     }
 
     private static void microTestFailed() {
-        if (!ProcessFailedTests) {
+        if (!ProcessFailedTests || ShowFailedTestsResults) {
             System.err.printf("%nMicro-test failure: %s%n", getTestContext());
             System.err.printf("%16s %s%n", "Expression:", microTestInfo.expression);
             System.err.printf("%16s %s", "Expected output:", microTestInfo.expectedOutput);
@@ -603,7 +614,8 @@ public class TestBase {
             output.addAll(Arrays.asList(TestTrait.collect(traits, Output.class)));
             context.addAll(Arrays.asList(TestTrait.collect(traits, Context.class)));
             containsError = (!FULL_COMPARE_ERRORS && (output.contains(Output.IgnoreErrorContext) || output.contains(Output.ImprovedErrorContext) || output.contains(Output.IgnoreErrorMessage)));
-            isIgnored = ignored.size() > 0 ^ (ProcessFailedTests && !(ignored.contains(Ignored.Unstable) || ignored.contains(Ignored.SideEffects)));
+            isIgnored = ignored.size() > 0 ^ (ProcessFailedTests && (!IgnoredUnknownOnlyTests || (IgnoredUnknownOnlyTests && ignored.contains(Ignored.Unknown))) &&
+                            !(ignored.contains(Ignored.Unstable) || ignored.contains(Ignored.SideEffects)));
             assert !output.contains(Output.IgnoreWhitespace) || output.size() == 1 : "IgnoreWhitespace trait does not work with any other Output trait";
 
         }
@@ -628,15 +640,16 @@ public class TestBase {
         }
     }
 
-    private void evalAndCompare(String[] inputs, TestTrait... traitsList) {
+    private boolean evalAndCompare(String[] inputs, TestTrait... traitsList) {
         WhiteList[] whiteLists = TestTrait.collect(traitsList, WhiteList.class);
         TestTraitsSet traits = new TestTraitsSet(traitsList);
         ContextInfo contextInfo = traits.context.contains(Context.NonShared) ? fastROutputManager.fastRSession.createContextInfo(ContextKind.SHARE_NOTHING) : null;
         int index = 1;
         boolean allOk = true;
+        boolean skipFastREval = traits.isIgnored || generatingExpected();
         for (String input : inputs) {
             String expected = expectedEval(input, traitsList);
-            if (traits.isIgnored || generatingExpected()) {
+            if (skipFastREval) {
                 ignoredInputCount++;
             } else {
                 String result = fastREval(input, contextInfo, traits.context.contains(Context.LongTimeout));
@@ -683,6 +696,7 @@ public class TestBase {
         } else {
             failedTestCount++;
         }
+        return !skipFastREval;
     }
 
     private static class CheckResult {
@@ -707,14 +721,22 @@ public class TestBase {
             if (traits.containsError && !traits.output.contains(Output.IgnoreErrorMessage)) {
                 System.out.println("unexpected correct error message: " + getTestContext());
             }
-            if (traits.output.contains(Output.IgnoreWarningContext)) {
+            if (traits.output.contains(Output.IgnoreWarningContext) || traits.output.contains(Output.IgnoreWarningMessage)) {
                 System.out.println("unexpected correct warning message: " + getTestContext());
             }
         } else {
-            if (traits.output.contains(Output.IgnoreWarningContext) || (traits.output.contains(Output.MayIgnoreWarningContext) && expected.contains(WARNING))) {
+            if (traits.output.contains(Output.MissingWarning)) {
+                boolean expectedContainsWarning = expected.contains(WARNING);
+                if (!expectedContainsWarning) {
+                    System.out.println("unexpected missing warning message:" + getTestContext());
+                }
+                ok = expectedContainsWarning && !result.contains(WARNING);
+                expected = getOutputWithoutWarning(expected);
+            } else if (traits.output.contains(Output.IgnoreWarningContext) || traits.output.contains(Output.IgnoreWarningMessage) ||
+                            (traits.output.contains(Output.MayIgnoreWarningContext) && expected.contains(WARNING))) {
                 String resultWarning = getWarningMessage(result);
                 String expectedWarning = getWarningMessage(expected);
-                ok = resultWarning.equals(expectedWarning);
+                ok = resultWarning.equals(expectedWarning) || traits.output.contains(Output.IgnoreWarningMessage);
                 result = getOutputWithoutWarning(result);
                 expected = getOutputWithoutWarning(expected);
             } else {
@@ -905,7 +927,7 @@ public class TestBase {
             Integer count = exceptionCounts.get(clazz);
             exceptionCounts.put(clazz, count == null ? 1 : count + 1);
             result = e.toString();
-            if (!ProcessFailedTests) {
+            if (!ProcessFailedTests || ShowFailedTestsResults) {
                 e.printStackTrace();
             }
         }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/TestRBase.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/TestRBase.java
index 69a51571c41f298b060439b7061e463ee4d54dc4..6d4317791a4276e61b257c0661251ce5059fe22a 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/TestRBase.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/TestRBase.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -84,7 +84,15 @@ public class TestRBase extends TestBase {
                         } else if (l.contains("IgnoreWarningContext")) {
                             testTrait = Output.IgnoreWarningContext;
                         } else if (l.contains("Ignored")) {
-                            testTrait = Ignored.Unknown;
+                            for (Ignored ignoredType : Ignored.values()) {
+                                if (l.contains("Ignored." + ignoredType.name())) {
+                                    testTrait = ignoredType;
+                                    break;
+                                }
+                            }
+                            if (testTrait == null) {
+                                testTrait = Ignored.Unknown; // Retain old way for compatibility
+                            }
                         }
                     }
                 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_ISOdatetime.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_ISOdatetime.java
index 82c91d658c6a64bd5040657dce3c25d47efe0e89..58e8f1224fcdfee9d7b1ccd490d336cbd40fc406 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_ISOdatetime.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_ISOdatetime.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -20,14 +20,17 @@ public class TestBuiltin_ISOdatetime extends TestBase {
 
     @Test
     public void testISOdatetime1() {
-        assertEval(Ignored.Unknown,
+        // FIXME FastR returns NA
+        assertEval(Ignored.ImplementationError,
                         "argv <- structure(list(year = 1970, month = 1, day = 1, hour = 0,     min = 0, sec = 0, tz = 'GMT'), .Names = c('year', 'month',     'day', 'hour', 'min', 'sec', 'tz'));" +
                                         "do.call('ISOdatetime', argv)");
     }
 
     @Test
     public void testISOdatetime2() {
-        assertEval(Ignored.Unknown, "argv <- structure(list(year = 2002, month = 6, day = 24, hour = 0,     min = 0, sec = 10), .Names = c('year', 'month', 'day', 'hour',     'min', 'sec'));" +
-                        "do.call('ISOdatetime', argv)");
+        // FIXME FastR returns NA
+        assertEval(Ignored.ImplementationError,
+                        "argv <- structure(list(year = 2002, month = 6, day = 24, hour = 0,     min = 0, sec = 10), .Names = c('year', 'month', 'day', 'hour',     'min', 'sec'));" +
+                                        "do.call('ISOdatetime', argv)");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_La.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_La.java
index 62d41240e2cc18d44aaec3a0c5e5a8ca13c12736..bedd0f6b53227c781598001fa35e63bb4713b65e 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_La.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_La.java
@@ -19,7 +19,9 @@ public class TestBuiltin_La extends TestBase {
 
     @Test
     public void testLa1() {
-        assertEval(Ignored.Unknown,
+        // FIXME numerical results are almost all different
+        // and FastR output misses "(Intercept) Rail2 Rail3 ..." heading
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0), .Dim = c(18L, 7L), .Dimnames = list(c('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18'), c('(Intercept)', 'Rail2', 'Rail5', 'Rail1', 'Rail6', 'Rail3', 'Rail4')))); .Internal(La_qr(argv[[1]]))");
     }
 
@@ -40,7 +42,8 @@ public class TestBuiltin_La extends TestBase {
 
     @Test
     public void testLa4() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal La_svd
+        assertEval(Ignored.Unimplemented,
                         "argv <- list('S', structure(c(1, 0, 0, 0, 0, 1.4142135623731, 0, 0, 0, 0, 1.73205080756888, 0, 0, 0, 0, 2), .Dim = c(4L, 4L), Dimnames = list(character(0), character(0))), c(2, 1.73205080756888, 1.4142135623731, 1), structure(c(0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0), .Dim = c(4L, 4L)), structure(c(0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0), .Dim = c(4L, 4L))); .Internal(La_svd(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]]))");
     }
 
@@ -51,18 +54,21 @@ public class TestBuiltin_La extends TestBase {
 
     @Test
     public void testLa6() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal La_svd
+        assertEval(Ignored.Unimplemented,
                         "argv <- list('S', structure(c(FALSE, TRUE, FALSE, TRUE, TRUE, FALSE, TRUE, TRUE, TRUE, FALSE, TRUE, FALSE, TRUE, TRUE, FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE), .Dim = c(5L, 5L)), c(3.37916576339493, 1.53572230863579, 1.41421356237309, 0.472012430194285, 3.04287016253022e-18), structure(c(-0.38209344041777, -0.441911867608196, -0.441911867608196, -0.563415484445979, -0.38209344041777, -0.594200765232569, 0.307687929858406, 0.307687929858405, 0.32327569786942, -0.594200765232566, 0.499999999999999, -0.5, 0.500000000000001, 7.42461647718073e-16, -0.500000000000001, 0.0304967766615352, 0.45830343560406, 0.458303435604061, -0.760299819185526, 0.0304967766615352, -0.5, -0.5, 0.5, -1.11022302462516e-16, 0.5), .Dim = c(5L, 5L)), structure(c(-0.41058086214689, 0.0239384830763564, -0.707106781186547, -0.575195883735897, 0, -0.428282990831553, 0.611211774620929, 9.15933995315754e-16, 0.331150287627506, 0.577350269189626, -0.41058086214689, 0.0239384830763538, 0.707106781186548, -0.575195883735897, 5.55111512312578e-17, -0.226146609649533, -0.773838814336698, -1.55431223447522e-15, 0.129220226886747, 0.577350269189625, -0.654429600481086, -0.162627039715767, -5.27355936696949e-16, 0.460370514514253, -0.577350269189626), .Dim = c(5L, 5L))); .Internal(La_svd(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]]))");
     }
 
     @Test
     public void testLa7() {
-        assertEval(Ignored.Unknown, "argv <- list(structure(c(1, 1, 3, 3), .Dim = c(2L, 2L)), 'O'); .Internal(La_dgecon(argv[[1]], argv[[2]]))");
+        // FIXME RInternalError: not implemented: .Internal La_dgecon
+        assertEval(Ignored.Unimplemented, "argv <- list(structure(c(1, 1, 3, 3), .Dim = c(2L, 2L)), 'O'); .Internal(La_dgecon(argv[[1]], argv[[2]]))");
     }
 
     @Test
     public void testLa8() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal La_svd
+        assertEval(Ignored.Unimplemented,
                         "argv <- list('N', structure(c(-4, 0, 0, 0, 0, 0, 0, -406.725, 41.7955066364795, 0, 0, 0, 0, 0, -1550.79375, 381.717151319926, 49.8228991342168, 0, 0, 0, 0, -1277.325, 224.617432123818, -31.1858918860748, -282.060212912726, 0, 0, 0, -1042.675, 125.261805546114, -29.9849484767744, 164.425554254677, -170.353263600129, 0, 0, -469.696, 26.3795103523805, 4.19691803785862, -3.18974110831568, 0.0462484557378925, 1.46320172717486, 0, -7818, 18.2758880432689, 1.77525956575195, -1.45298766739792, -0.449176219307484, -0.281900648530911, -0.669305080560524), .Dim = c(7L, 7L), .Dimnames = list(c('1947', '1948', '1949', '1950', '1951', '1952', '1953'), c('(Intercept)', 'GNP.deflator', 'GNP', 'Unemployed', 'Armed.Forces', 'Population', 'Year'))), c(8164.12940108939, 457.24498274114, 324.584423503013, 134.312174464868, 4.95553195929945, 1.41954832076337, 0.000342370904183799), structure(0, .Dim = c(1L, 1L)), structure(0, .Dim = c(1L, 1L))); .Internal(La_svd(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]]))");
     }
 
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_acosh.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_acosh.java
index 123f2d9bf9ad59f3691bc8fe052b7c7cc281759d..bb4bdca22600ef5fccebccc35f6f90e897b9e9f9 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_acosh.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_acosh.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -19,7 +19,10 @@ public class TestBuiltin_acosh extends TestBase {
 
     @Test
     public void testacosh1() {
-        assertEval(Ignored.Unknown, "argv <- list(FALSE);acosh(argv[[1]]);");
+        // FIXME missing warning:
+        // Warning message:
+        // In acosh(argv[[1]]) : NaNs produced
+        assertEval(Output.MissingWarning, "argv <- list(FALSE);acosh(argv[[1]]);");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_agrep.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_agrep.java
index 6783dd4542a4eee573c233e2539b279928a70a65..e8fb56be9845788a1566dcdad90d445142759a96 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_agrep.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_agrep.java
@@ -24,19 +24,24 @@ public class TestBuiltin_agrep extends TestBase {
 
     @Test
     public void testagrep3() {
-        assertEval(Ignored.Unknown,
+        // FIXME: GnuR seems to be right, 1 edit necessary for first string of x
+        // and when deletions set to 0 then only second string of x should pass.
+        // TODO verify expected algorithm behavior according to input args values
+        assertEval(Ignored.ImplementationError,
                         "argv <- list('lasy', c(' 1 lazy 2', '1 lasy 2'), FALSE, FALSE, c(1L, 1L, 1L), structure(c(NA, 0.1, 0.1, 0, 0.1), .Names = c('cost', 'insertions', 'deletions', 'substitutions', 'all')), FALSE, TRUE); .Internal(agrep(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]], argv[[8]]))");
     }
 
     @Test
     public void testagrep4() {
-        assertEval(Ignored.Unknown,
+        // FIXME not yet implemented: value == true
+        assertEval(Ignored.Unimplemented,
                         "argv <- list('laysy', c('1 lazy', '1', '1 LAZY'), FALSE, TRUE, c(1L, 1L, 1L), c(2, NA, NA, NA, NA), FALSE, TRUE); .Internal(agrep(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]], argv[[8]]))");
     }
 
     @Test
     public void testagrep5() {
-        assertEval(Ignored.Unknown,
+        // FIXME not yet implemented: ignoreCase == true
+        assertEval(Ignored.Unimplemented,
                         "argv <- list('laysy', c('1 lazy', '1', '1 LAZY'), TRUE, FALSE, c(1L, 1L, 1L), c(2, NA, NA, NA, NA), FALSE, TRUE); .Internal(agrep(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]], argv[[8]]))");
     }
 
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_anyDuplicated.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_anyDuplicated.java
index 4459a88831f0cda841576e8e6e45931c7019b20a..c341da371c863d86f83700e7f625222080c9d22e 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_anyDuplicated.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_anyDuplicated.java
@@ -99,7 +99,8 @@ public class TestBuiltin_anyDuplicated extends TestBase {
 
     @Test
     public void testanyDuplicated18() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: java.lang.ArrayIndexOutOfBoundsException: 0
+        assertEval(Ignored.ImplementationError,
                         "argv <- structure(list(x = structure(c(3, 2, 7, 2, 6, 2, 7, 2),     .Dim = c(4L, 2L), .Dimnames = list(c('A', 'B', 'C', 'D'),         c('M', 'F'))), MARGIN = 0), .Names = c('x', 'MARGIN'));" +
                                         "do.call('anyDuplicated', argv)");
     }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_anyDuplicatedmatrix.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_anyDuplicatedmatrix.java
index b2fcc0c0373702224fecbdd72dc49134aaceda18..431b920e047a30de4e9b6c8d9852d7ece22d202f 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_anyDuplicatedmatrix.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_anyDuplicatedmatrix.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -20,7 +20,8 @@ public class TestBuiltin_anyDuplicatedmatrix extends TestBase {
 
     @Test
     public void testanyDuplicatedmatrix1() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: java.lang.ArrayIndexOutOfBoundsException: 0
+        assertEval(Ignored.ImplementationError,
                         "argv <- structure(list(x = structure(c(3, 2, 7, 2, 6, 2, 7, 2),     .Dim = c(4L, 2L), .Dimnames = list(c('A', 'B', 'C', 'D'),         c('M', 'F'))), MARGIN = 0), .Names = c('x', 'MARGIN'));" +
                                         "do.call('anyDuplicated.matrix', argv)");
     }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_aperm.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_aperm.java
index 9bd788df9e25b5e4f3680b76a72e6adde86d5bb5..6974bfef2a476fabd8c526c36d7333b646685999 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_aperm.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_aperm.java
@@ -19,7 +19,8 @@ public class TestBuiltin_aperm extends TestBase {
 
     @Test
     public void testaperm1() {
-        assertEval(Ignored.Unknown,
+        // FIXME .Dimnames not transposed
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE), .Dim = c(5L, 14L), .Dimnames = list(c('#ifdef', '\\\\Sexpr', 'build', 'install', 'render'), NULL)), c(2L, 1L), TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
@@ -35,19 +36,22 @@ public class TestBuiltin_aperm extends TestBase {
 
     @Test
     public void testaperm4() {
-        assertEval(Ignored.Unknown,
+        // FIXME .Dimnames not transposed
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(c(0L, 0L, 0L, 1L, 0L, 1L, 1L, 1L), .Dim = c(1L, 8L), .Dimnames = list('strata(enum)', c('rx', 'size', 'number', 'strata(enum)', 'cluster(id)', 'rx:strata(enum)', 'size:strata(enum)', 'number:strata(enum)'))), 1:2, TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
     @Test
     public void testaperm5() {
-        assertEval(Ignored.Unknown,
+        // FIXME .Dimnames not transposed
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(c(9.2319289524956, -0.470372045488369, 186.857050189827), .Dim = c(1L, 3L), .Dimnames = list('118', c('age', 'sex', 'meal.cal'))), 1:2, TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
     @Test
     public void testaperm6() {
-        assertEval(Ignored.Unknown,
+        // FIXME .Dimnames not transposed
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(c(414L, 439L, 382L, 388L, 383L, 364L, 364L, 363L, 349L, 371L, 102L, 388L, 388L, 363L, 367L, 365L, 382L, 362L, 373L, 385L, 376L, 360L, 306L, 160L, 316L, 316L, 315L, 357L, 360L, 347L, 353L, 308L, 327L, 329L, 343L, 251L, 318L, 304L, 316L, 335L, 365L, 336L, 350L, 356L, 339L, 301L, 330L, 300L, 300L, 312L, 334L, 270L, 347L, 293L, 303L, 337L, 287L, 293L, 293L, 318L, 359L, 351L, 322L, 343L, 269L, 286L, 286L, 273L, 297L, 273L, 273L, 273L, 294L, 303L, 281L, 273L, 255L, 269L, 270L, 270L, 276L, 264L, 245L, 261L, 270L, 273L, 306L, 274L, 279L, 278L, 278L, 284L, 276L, 265L, 294L, 277L, 259L, 287L, 263L, 240L, 217L, 271L, 252L, 331L, 255L, 271L, 254L, 185L, 213L, 210L, 203L, 288L, 269L, 269L, 91L, 91L, 192L, 199L, 195L, 198L, 207L, 200L, 197L, 243L, 203L, 197L, 227L, 227L, 219L, 8L, NA, NA, 246L, NA, 292L, NA, 294L, NA, 19L, 373L, NA, 211L, 82L, NA, 334L, 18L, NA, 280L, NA, NA, NA, NA, 146L, NA, NA, NA, 267L, 206L, 175L, NA, NA, NA, NA, 118L, NA, NA, NA, NA, 274L, NA, NA, 187L, NA, 6L, NA, NA, 146L, 304L, NA, 52L, 67L, NA, 265L, NA, 91L, NA, NA, NA, 318L, 57L, 226L, 65L, NA, 264L, NA, NA, NA, 236L, NA, 207L, NA, NA, NA, NA, NA, NA, 23L, NA, NA, NA, NA, NA, NA, 113L, 99L, NA, NA, 14L, NA, NA, NA, NA, NA, NA, NA, 4L, NA, 167L, NA, NA, NA, NA, NA, NA, NA, NA, NA, 165L, NA, NA, NA, NA, NA, NA, NA, NA, 11L, NA, NA, 168L, NA, NA, 120L, NA, 104L, NA, 373L, 26L, NA, NA, 253L, NA, NA, NA, NA, NA, NA, NA, NA, 260L, 114L, NA, 370L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 280L, NA, NA, NA, NA, 240L, NA, NA, NA, NA, 361L, NA, NA, NA, NA, NA, NA, NA, 188L, NA, NA, 65L, 248L, NA, NA, NA, 121L, NA, NA, NA, NA, 121L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 306L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 159L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 22L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 152L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 265L, 337L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 255L, 250L, NA, NA, NA, 203L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 213L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 169L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 241L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 269L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 284L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 249L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 307L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 322L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 350L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), .Dim = c(128L, 8L), .Dimnames = list(    NULL, c('futime', 'e1', 'e2', 'e3', 'e4', 'e5', 'e6', 'e7'))), c(2L, 1L), TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
@@ -58,7 +62,8 @@ public class TestBuiltin_aperm extends TestBase {
 
     @Test
     public void testaperm8() {
-        assertEval(Ignored.Unknown,
+        // FIXME .Dimnames not transposed
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(c(544.790381900886, 398.486952468991, 440.879079007027, 273.26068924187, -165.547292067734, -289.908895455829, -336.563851641157, -433.491123254512, -446.830170210184, -229.698549757081, 7.43503106965538, 237.187718724823, 544.790381900886, 398.486952468991, 440.879079007027, 273.26068924187, -165.547292067734, -289.908895455829, -336.563851641157, -433.491123254512, -446.830170210184, -229.698549757081, 7.43503106965538, 237.187718724823, 544.790381900886, 398.486952468991, 440.879079007027, 273.26068924187, -165.547292067734, -289.908895455829, -336.563851641157, -433.491123254512, -446.830170210184, -229.698549757081, 7.43503106965538, 237.187718724823, 544.790381900886, 398.486952468991, 440.879079007027, 273.26068924187, -165.547292067734, -289.908895455829, -336.563851641157, -433.491123254512, -446.830170210184, -229.698549757081, 7.43503106965538, 237.187718724823, 544.790381900886, 398.486952468991, 440.879079007027, 273.26068924187, -165.547292067734, -289.908895455829, -336.563851641157, -433.491123254512, -446.830170210184, -229.698549757081, 7.43503106965538, 237.187718724823, 544.790381900886, 398.486952468991, 440.879079007027, 273.26068924187, -165.547292067734, -289.908895455829, -336.563851641157, -433.491123254512, -446.830170210184, -229.698549757081, 7.43503106965538, 237.187718724823, 1539.44739946315, 1548.66655077773, 1557.88570209231, 1566.45228027983, 1575.01885846735, 1583.14083472285, 1591.26281097836, 1599.26100149451, 1607.25919201066, 1611.39689466313, 1615.5345973156, 1612.61129444623, 1609.68799157686, 1603.44643859537, 1597.20488561388, 1588.73002343463, 1580.25516125537, 1570.86127478964, 1561.46738832392, 1549.89535441445, 1538.32332050498, 1524.62526591843, 1510.92721133189, 1499.65830819836, 1488.38940506483, 1479.31388700637, 1470.23836894792, 1460.03887936132, 1449.83938977473, 1441.27547309544, 1432.71155641615, 1432.51830671501, 1432.32505701387, 1433.15763708544, 1433.99021715701, 1434.96142536256, 1435.9326335681, 1435.47421580154, 1435.01579803498, 1433.4368629411, 1431.85792784722, 1430.85617066215, 1429.85441347709, 1432.59097206397, 1435.32753065085, 1440.49425642708, 1445.66098220331, 1448.76676550395, 1451.87254880459, 1452.9163236715, 1453.96009853841, 1454.6961768366, 1455.43225513478, 1452.22362902495, 1449.01500291512, 1442.43484036078, 1435.85467780644, 1426.50159512644, 1417.14851244644, 1409.58997614642, 1402.0314398464, 1397.59624058751, 1393.16104132862, 1386.64426440334, 1380.12748747807, 1371.71107833433, 1363.2946691906, 1354.59002807904, 1345.88538696748, 1336.94914699242, 1328.01290701735, 1318.64960669271, 49.7622186359663, -84.1535032467218, -121.764781099341, 37.2870304782966, 82.528433600382, -44.2319392670254, 25.3010406627996, -34.7698782399993, 48.5709781995188, 110.301655093951, -1.96962838525201, -3.7990131710535, -51.4783734777507, 135.066608935635, 114.916035379091, -28.990712676497, -11.7078691876363, 7.04762066618673, -38.9035366827579, 16.5957688400649, -38.4931502947952, 52.0732838386475, 26.6377575984557, 329.153973076816, -13.1797869657194, 872.199160524634, 371.882552045056, -254.299568603192, -95.2920977069916, 8.63342236039193, 16.852295225008, -29.0271834604991, 13.5051131963112, 4.54091267164154, 25.5747517733375, 386.850855912621, 259.276984531009, -199.961168270532, -153.894877042003, 94.302447817031, -20.3106357794875, 21.0527247936745, -6.29056183593116, 13.9001511905426, -29.4973604406664, -31.7957066699985, -224.096013272965, -30.9544842287708, 22.3370692945275, 432.596723859509, 47.1608224545594, -304.956866078466, 50.1150369329559, 24.6852664308792, -14.4511512739648, -4.94371710626865, -19.024507596255, -56.8030453693573, -314.583543516094, 165.222305128756, 316.17817825271, 23.9168069434991, 11.9598796643579, -128.904953645213, 0.419804589665318, -6.80218287850425, 29.2691824505584, 53.9010951754703, 40.9447832426993, -26.2505972353374, -41.4479380870087, -214.837325417531, 2134, 1863, 1877, 1877, 1492, 1249, 1280, 1131, 1209, 1492, 1621, 1846, 2103, 2137, 2153, 1833, 1403, 1288, 1186, 1133, 1053, 1347, 1545, 2066, 2020, 2750, 2283, 1479, 1189, 1160, 1113, 970, 999, 1208, 1467, 2059, 2240, 1634, 1722, 1801, 1246, 1162, 1087, 1013, 959, 1179, 1229, 1655, 2019, 2284, 1942, 1423, 1340, 1187, 1098, 1004, 970, 1140, 1110, 1812, 2263, 1820, 1846, 1531, 1215, 1075, 1056, 975, 940, 1081, 1294, 1341), .Dim = c(72L, 4L), .Dimnames = list(NULL, c('STL.seasonal', 'STL.trend', 'STL.remainder', 'data')), .Tsp = c(1974, 1979.91666666667, 12), class = c('mts', 'ts', 'matrix')), 1:2, TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
@@ -69,7 +74,8 @@ public class TestBuiltin_aperm extends TestBase {
 
     @Test
     public void testaperm10() {
-        assertEval(Ignored.Unknown,
+        // FIXME Attrs not transposed (as described in aperm docs)
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(c(32, 53, 10, 3, 11, 50, 10, 30, 10, 25, 7, 5, 3, 15, 7, 8, 36, 66, 16, 4, 9, 34, 7, 64, 5, 29, 7, 5, 2, 14, 7, 8), .Dim = c(4L, 4L, 2L), .Dimnames = structure(list(Hair = c('Black', 'Brown', 'Red', 'Blond'), Eye = c('Brown', 'Blue', 'Hazel', 'Green'), Sex = c('Male', 'Female')), .Names = c('Hair', 'Eye', 'Sex')), class = 'table'), c(3L, 1L, 2L), TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
@@ -85,7 +91,8 @@ public class TestBuiltin_aperm extends TestBase {
 
     @Test
     public void testaperm13() {
-        assertEval(Ignored.Unknown,
+        // FIXME .Dimnames not transposed
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(c('    Null deviance:', 'Residual deviance:', '3.118557', '0.012672', ' on', ' on', '8', '7', ' degrees of freedom\\n', ' degrees of freedom\\n'), .Dim = c(2L, 5L), .Dimnames = list(c('null.deviance', 'deviance'), NULL)), c(2L, 1L), TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
@@ -96,7 +103,8 @@ public class TestBuiltin_aperm extends TestBase {
 
     @Test
     public void testaperm15() {
-        assertEval(Ignored.Unknown,
+        // FIXME .Dimnames not transposed
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE), .Dim = c(5L, 20L), .Dimnames = list(c('#ifdef', '\\\\Sexpr', 'build', 'install', 'render'), NULL)), c(2L, 1L), TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
@@ -117,25 +125,29 @@ public class TestBuiltin_aperm extends TestBase {
 
     @Test
     public void testaperm19() {
-        assertEval(Ignored.Unknown,
+        // FIXME .Dimnames not transposed
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(c(4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 4000, 8000, 12000, 16000, 20000, 24000, 28000, 32000, 36000, 40000, 44000, 48000, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 8000, 16000, 24000, 32000, 40000, 48000, 56000, 64000, 72000, 80000, 88000, 96000, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132, 144, 12000, 24000, 36000, 48000, 60000, 72000, 84000, 96000, 108000, 120000, 132000, 144000, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 16000, 32000, 48000, 64000, 80000, 96000, 112000, 128000, 144000, 160000, 176000, 192000, 20, 40, 60, 80, 100, 120, 140, 160, 180, 200, 220, 240, 20000, 40000, 60000, 80000, 1e+05, 120000, 140000, 160000, 180000, 2e+05, 220000, 240000, 24, 48, 72, 96, 120, 144, 168, 192, 216, 240, 264, 288, 24000, 48000, 72000, 96000, 120000, 144000, 168000, 192000, 216000, 240000, 264000, 288000, 28, 56, 84, 112, 140, 168, 196, 224, 252, 280, 308, 336, 28000, 56000, 84000, 112000, 140000, 168000, 196000, 224000, 252000, 280000, 308000, 336000, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 32000, 64000, 96000, 128000, 160000, 192000, 224000, 256000, 288000, 320000, 352000, 384000, 36, 72, 108, 144, 180, 216, 252, 288, 324, 360, 396, 432, 36000, 72000, 108000, 144000, 180000, 216000, 252000, 288000, 324000, 360000, 396000, 432000, 40, 80, 120, 160, 200, 240, 280, 320, 360, 400, 440, 480, 40000, 80000, 120000, 160000, 2e+05, 240000, 280000, 320000, 360000, 4e+05, 440000, 480000, 44, 88, 132, 176, 220, 264, 308, 352, 396, 440, 484, 528, 44000, 88000, 132000, 176000, 220000, 264000, 308000, 352000, 396000, 440000, 484000, 528000, 48, 96, 144, 192, 240, 288, 336, 384, 432, 480, 528, 576, 48000, 96000, 144000, 192000, 240000, 288000, 336000, 384000, 432000, 480000, 528000, 576000, 52, 104, 156, 208, 260, 312, 364, 416, 468, 520, 572, 624, 52000, 104000, 156000, 208000, 260000, 312000, 364000, 416000, 468000, 520000, 572000, 624000, 56, 112, 168, 224, 280, 336, 392, 448, 504, 560, 616, 672, 56000, 112000, 168000, 224000, 280000, 336000, 392000, 448000, 504000, 560000, 616000, 672000, 60, 120, 180, 240, 300, 360, 420, 480, 540, 600, 660, 720, 60000, 120000, 180000, 240000, 3e+05, 360000, 420000, 480000, 540000, 6e+05, 660000, 720000, 64, 128, 192, 256, 320, 384, 448, 512, 576, 640, 704, 768, 64000, 128000, 192000, 256000, 320000, 384000, 448000, 512000, 576000, 640000, 704000, 768000, 68, 136, 204, 272, 340, 408, 476, 544, 612, 680, 748, 816, 68000, 136000, 204000, 272000, 340000, 408000, 476000, 544000, 612000, 680000, 748000, 816000, 72, 144, 216, 288, 360, 432, 504, 576, 648, 720, 792, 864, 72000, 144000, 216000, 288000, 360000, 432000, 504000, 576000, 648000, 720000, 792000, 864000, 76, 152, 228, 304, 380, 456, 532, 608, 684, 760, 836, 912, 76000, 152000, 228000, 304000, 380000, 456000, 532000, 608000, 684000, 760000, 836000, 912000, 80, 160, 240, 320, 400, 480, 560, 640, 720, 800, 880, 960, 80000, 160000, 240000, 320000, 4e+05, 480000, 560000, 640000, 720000, 8e+05, 880000, 960000, 84, 168, 252, 336, 420, 504, 588, 672, 756, 840, 924, 1008, 84000, 168000, 252000, 336000, 420000, 504000, 588000, 672000, 756000, 840000, 924000, 1008000, 88, 176, 264, 352, 440, 528, 616, 704, 792, 880, 968, 1056, 88000, 176000, 264000, 352000, 440000, 528000, 616000, 704000, 792000, 880000, 968000, 1056000, 92, 184, 276, 368, 460, 552, 644, 736, 828, 920, 1012, 1104, 92000, 184000, 276000, 368000, 460000, 552000, 644000, 736000, 828000, 920000, 1012000, 1104000, 96, 192, 288, 384, 480, 576, 672, 768, 864, 960, 1056, 1152, 96000, 192000, 288000, 384000, 480000, 576000, 672000, 768000, 864000, 960000, 1056000, 1152000), .Dim = c(3L, 4L, 2L, 3L, 4L, 2L), .Dimnames = list(c('A', 'B', 'C'), c('D', 'E', 'F', 'G'), c('frequentist', 'bayesian'), NULL, NULL, c('happy', 'sad'))), c(4L, 1L, 5L, 2L, 6L, 3L), TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
     @Test
     public void testaperm20() {
-        assertEval(Ignored.Unknown,
+        // FIXME .Dimnames not transposed
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(1:24, .Dim = c(4L, 6L), .Dimnames = structure(list(happy = c('a', 'b', 'c', 'd'), sad = c('A', 'B', 'C', 'D', 'E', 'F')), .Names = c('happy', 'sad'))), c(2, 1), TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
     @Test
     public void testaperm21() {
-        assertEval(Ignored.Unknown,
+        // FIXME .Dimnames not applied
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(1:120, .Dim = 2:5, .Dimnames = list(NULL, c('a', 'b', 'c'), NULL, c('V5', 'V6', 'V7', 'V8', 'V9'))), 1:4, TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
     @Test
     public void testaperm22() {
-        assertEval(Ignored.Unknown,
+        // FIXME .Dimnames not transposed
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(c('    Null deviance:', 'Residual deviance:', '67.5316', ' 4.5512', ' on', ' on', '9', '7', ' degrees of freedom\\n', ' degrees of freedom\\n'), .Dim = c(2L, 5L), .Dimnames = list(c('null.deviance', 'deviance'), NULL)), c(2L, 1L), TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
@@ -146,19 +158,22 @@ public class TestBuiltin_aperm extends TestBase {
 
     @Test
     public void testaperm24() {
-        assertEval(Ignored.Unknown,
+        // FIXME .Dimnames not transposed
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(c(3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 2, 1, 2, 3, 4, 5), .Dim = c(8L, 2L), .Dimnames = list(c('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'), c('x1', 'x2'))), c(2L, 1L), TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
     @Test
     public void testaperm25() {
-        assertEval(Ignored.Unknown,
+        // FIXME .Dimnames not applied
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(c(0, 1.23517986278748, 1.95771376416406, 2.47035972557496, 2.86799882564536, 3.19289362695154, 3.46758826742286, 3.70553958836244, 3.91542752832811, 4.10317868843284, 4.27302027203108, 4.42807348973901, 4.57070862330685, 4.70276813021034, 4.82571258980942, 4.94071945114991, 5.04875179140451, 5.15060739111559, 5.2469545231864, 5.33835855122032, 5.42530203158692, 5.50820013481856, 5.58741263619316, 5.66325335252649, 5.73599765129073, 5.80588848609433, 5.87314129249217, 5.93794799299782, 6.00048029898585, 6.0608924525969, 6.11932351888589, 6.17589931393739, 6.23073403619514, 6.28393165419199, 6.33558709306823, 6.38578725390307, 6.43461189335533, 6.48213438597388, 6.52842238747091, 6.5735384140078, 6.61754034994095, 6.6604818943744, 6.70241295516147, 6.74337999760604, 6.78342635397348, 6.82259249898064, 6.86091629565604, 6.89843321531397, 6.93517653484573, 6.97117751407821, 7.00646555556857, 7.04106834888181, 7.07501200112497, 7.10832115527965, 7.14101909767645, 7.1731278557853, 7.20466828735046, 7.23566016177333, 7.26612223453848, 7.29607231538438, 7.3255273308395, 7.35450338167337, 7.38301579575098, 7.41107917672487, 7.43870744895221, 7.46591389898262, 7.49271121392624, 7.51911151697947, 7.54512640035722, 7.57076695585571, 7.59604380324749, 7.62096711669055, 7.64554664931599, 7.66979175614282, 7.69371141545478, 7.71731424876136, 7.74060853945395, 7.76360225025839, 7.78630303957574, 7.80871827679528, 7.83085505665623, 7.85272021272842, 7.87432033007586, 7.89566175716188, 7.91675061704988, 7.93759281794895, 7.95819406314991, 7.97855986039352, 7.99869553070936, 8.01860621676096, 8.03829689072971, 8.05777236176812, 8.07703728304995, 8.09609615844352, 8.11495334883177, 8.13361307810145, 8.15207943882202, 8.17035639763321, 8.1884478003592, 8.20635737686569, 5.76558893216369, 5.5342688729893, 5.69366159038267, 6.17674775070929, 6.08762735966107, 6.68653280779044, 6.70253591217234, 6.32938323618963, 6.81735284786279, 6.64835766778347, 6.91213030655848, 7.1496842781073, 7.25682341590407, 7.46164094256645, 7.37149913131863, 7.56470707593246, 7.71334191900841, 7.71375128844693, 7.82793409372511, 7.90749319121623, 7.96255733207686, 8.11381187364273, 8.21211505208663, 8.18427543602736, 8.29133399017863, 8.31295002652197, 8.345677476918, 8.39053879616249, 8.40857122007675, 8.48086068897741, 8.7064475146364, 8.66563269607315, 8.79435721712053, 8.7996087849725, 8.82443395257555, 8.91314507957224, 8.8999544270272, 8.96760168103462, 8.93548690078514, 9.01332239000153, 9.07083338712431, 9.15422051683385, 9.20109302097792, 9.2062218972166, 9.31170984199071, 9.30909253379462, 9.35447695163181, 9.45333740615033, 9.41458248768079, 9.46983861007334, 9.51652628670815, 9.5301888386762, 9.59497468213833, 9.61268143770055, 9.64141492393412, 9.68857453461133, 9.77580537125637, 9.79816256416163, 9.79128849346381, 9.80699184934282, 9.91833626833319, 9.95487179604373, 9.88086373278725, 9.93505313047982, 9.97034080826287, 9.97752630228797, 10.1165750634827, 10.0977558023188, 10.1414502841663, 10.129071787117, 10.166774063688, 10.1792762662323, 10.2172491181904, 10.2670710204409, 10.2742314938915, 10.287876622612, 10.3447249333494, 10.4075370351282, 10.3465199067119, 10.4404223214255, 10.422301774768, 10.4739543513507, 10.5314461891317, 10.4813429169605, 10.5097541699286, 10.5389544549716, 10.5752633644781, 10.6133054015308, 10.6776080133421, 10.6266190058322, 10.6657950921482, 10.7067723709738, 10.7424707425861, 10.7418659657784, 10.7335163259687, 10.780101845273, 10.8334343829096, 10.8616735406708, 10.8535694508523, 10.8900668188725), .Dim = c(100L, 2L), .Dimnames = list(c('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '90', '91', '92', '93', '94', '95', '96', '97', '98', '99', '100'), c('log(x)', 'log(z)'))), 1:2, TRUE); .Internal(aperm(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
     @Test
     public void testaperm27() {
-        assertEval(Ignored.Unknown,
+        // FIXME .Dimnames not transposed
+        assertEval(Ignored.ImplementationError,
                         "argv <- structure(list(a = structure(c(0.124248979591837, 0.266432653061224,     0.404342857142857, 0.0992163265306122, 0.0851836734693878,     0.0937632653061225, 0.0163551020408163, 0.182897959183673,     0.303289795918367, 0.010330612244898, 0.0557795918367347,     0.0490938775510204, 0.0992163265306122, 0.0851836734693878,     0.0937632653061225, 0.143689795918367, 0.098469387755102,     0.104004081632653, 0.0116979591836735, 0.0826530612244898,     0.0713795918367347, 0.00929795918367347, 0.0412040816326531,     0.0476285714285714, 0.0163551020408163, 0.182897959183673,     0.303289795918367, 0.0116979591836735, 0.0826530612244898,     0.0713795918367347, 0.0301591836734694, 0.220816326530612,     0.304587755102041, 0.00606938775510204, 0.0731020408163265,     0.0488244897959184, 0.010330612244898, 0.0557795918367347,     0.0490938775510204, 0.00929795918367347, 0.0412040816326531,     0.0476285714285714, 0.00606938775510204, 0.0731020408163265,     0.0488244897959184, 0.0111061224489796, 0.0391061224489796,     0.0754326530612245), .Dim = c(3L, 4L, 4L), .Dimnames = structure(list(Species = c('setosa',     'versicolor', 'virginica'), c('Sepal.Length', 'Sepal.Width',     'Petal.Length', 'Petal.Width'), c('Sepal.Length', 'Sepal.Width',     'Petal.Length', 'Petal.Width')), .Names = c('Species', '',     ''))), perm = c(2, 3, 1)), .Names = c('a', 'perm'));" +
                                         "do.call('aperm', argv)");
     }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_aregexec.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_aregexec.java
index 2e2ac183107a6bf867a537da780c516a0bc17eb6..f5323b554c9a7da776a06bcd7e03e209e093404d 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_aregexec.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_aregexec.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -19,13 +19,16 @@ public class TestBuiltin_aregexec extends TestBase {
 
     @Test
     public void testaregexec1() {
-        assertEval(Ignored.Unknown,
+        // FIXME
+        // FastR output: com.oracle.truffle.r.runtime.RInternalError: not implemented: .Internal
+        // aregexec
+        assertEval(Ignored.Unimplemented,
                         "argv <- list('FALSE', 'FALSE', c(0.1, NA, NA, NA, NA), c(1L, 1L, 1L), FALSE, FALSE, FALSE); .Internal(aregexec(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))");
     }
 
     @Test
     public void testaregexec2() {
-        assertEval(Ignored.Unknown,
+        assertEval(Ignored.Unimplemented,
                         "argv <- list('(lay)(sy)', c('1 lazy', '1', '1 LAZY'), c(2, NA, NA, NA, NA), c(1L, 1L, 1L), FALSE, FALSE, FALSE); .Internal(aregexec(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_ascomplex.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_ascomplex.java
index 7f63eca369365b415e2d414f107f1e5e6cd2f87f..b7a010a802caba243ba8657deaad7826c0e023cc 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_ascomplex.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_ascomplex.java
@@ -29,7 +29,8 @@ public class TestBuiltin_ascomplex extends TestBase {
 
     @Test
     public void testascomplex3() {
-        assertEval(Ignored.Unknown, "argv <- list(' ');as.complex(argv[[1]]);");
+        // FastR: extra warning: NAs introduced by coercion
+        assertEval(Output.IgnoreWarningMessage, "argv <- list(' ');as.complex(argv[[1]]);");
     }
 
     @Test
@@ -93,8 +94,9 @@ public class TestBuiltin_ascomplex extends TestBase {
 
         assertEval("{ as.complex(\"1e10+5i\") }");
         assertEval("{ as.complex(\"-.1e10+5i\") }");
-        assertEval(Ignored.Unknown, "{ as.complex(\"1e-2+3i\") }");
-        assertEval(Ignored.Unknown, "{ as.complex(\"+.1e+2-3i\") }");
+        // FIXME FastR unable to properly interpret x+yi (reports NA and warning instead)
+        assertEval(Ignored.ImplementationError, "{ as.complex(\"1e-2+3i\") }");
+        assertEval(Ignored.ImplementationError, "{ as.complex(\"+.1e+2-3i\") }");
 
         assertEval("{ as.complex(list(42)) }");
         assertEval(Output.IgnoreErrorContext, "{ as.complex(list(NULL)) }");
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_asdifftime.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_asdifftime.java
index 0aaff44737e11b92355cb6092db2b85eebc4598b..a39cfdb313564626ebc3c07980bd738a3e2c475a 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_asdifftime.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_asdifftime.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -20,11 +20,13 @@ public class TestBuiltin_asdifftime extends TestBase {
 
     @Test
     public void testasdifftime1() {
-        assertEval(Ignored.Unknown, "argv <- structure(list(tim = c('0:3:20', '11:23:15')), .Names = 'tim');do.call('as.difftime', argv)");
+        // FIXME RInternalError: should not reach here
+        assertEval(Ignored.ImplementationError, "argv <- structure(list(tim = c('0:3:20', '11:23:15')), .Names = 'tim');do.call('as.difftime', argv)");
     }
 
     @Test
     public void testasdifftime2() {
-        assertEval(Ignored.Unknown, "argv <- structure(list(tim = c('3:20', '23:15', '2:'), format = '%H:%M'),     .Names = c('tim', 'format'));do.call('as.difftime', argv)");
+        // FIXME RInternalError: should not reach here
+        assertEval(Ignored.ImplementationError, "argv <- structure(list(tim = c('3:20', '23:15', '2:'), format = '%H:%M'),     .Names = c('tim', 'format'));do.call('as.difftime', argv)");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_asdouble.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_asdouble.java
index 8cdead0a43f3d7edb5e26074b8dbc3bba59d6328..26624d73a5a4740709d366033340ca864aa05215 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_asdouble.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_asdouble.java
@@ -29,7 +29,8 @@ public class TestBuiltin_asdouble extends TestBase {
 
     @Test
     public void testasdouble3() {
-        assertEval(Ignored.Unknown, "argv <- list(structure(4, tzone = 'GMT', units = 'days', class = 'difftime'), units = 'secs');as.double(argv[[1]],argv[[2]]);");
+        // FIXME FastR outputs 4 (does not handle specially difftime class)
+        assertEval(Ignored.ImplementationError, "argv <- list(structure(4, tzone = 'GMT', units = 'days', class = 'difftime'), units = 'secs');as.double(argv[[1]],argv[[2]]);");
     }
 
     @Test
@@ -94,7 +95,8 @@ public class TestBuiltin_asdouble extends TestBase {
 
     @Test
     public void testasdouble16() {
-        assertEval(Ignored.Unknown, "argv <- list(structure(28, units = 'days', class = 'difftime'), units = 'secs');as.double(argv[[1]],argv[[2]]);");
+        // FIXME FastR outputs 28 i.e. does not handle specially difftime class
+        assertEval(Ignored.ImplementationError, "argv <- list(structure(28, units = 'days', class = 'difftime'), units = 'secs');as.double(argv[[1]],argv[[2]]);");
     }
 
     @Test
@@ -109,7 +111,8 @@ public class TestBuiltin_asdouble extends TestBase {
 
     @Test
     public void testasdouble19() {
-        assertEval(Ignored.Unknown, "argv <- list(structure(180.958333333333, units = 'days', class = 'difftime'), units = 'secs');as.double(argv[[1]],argv[[2]]);");
+        // FIXME FastR outputs 180.9583 (does not handle specially difftime class)
+        assertEval(Ignored.ImplementationError, "argv <- list(structure(180.958333333333, units = 'days', class = 'difftime'), units = 'secs');as.double(argv[[1]],argv[[2]]);");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_asmatrix.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_asmatrix.java
index 54beac54cc3789b523f4f2b2b8b5832661234a1d..c309948ee3e21f721b0e009da320699eae989429 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_asmatrix.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_asmatrix.java
@@ -76,8 +76,8 @@ public class TestBuiltin_asmatrix extends TestBase {
         assertEval("{ matrix(c(NaN,4+5i,2+0i,5+10i)) } ");
 
         // FIXME missing warning
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext, "{ matrix(c(1,2,3,4),3,2) }");
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext, "{ matrix(1:4,3,2) }");
+        assertEval(Output.MissingWarning, "{ matrix(c(1,2,3,4),3,2) }");
+        assertEval(Output.MissingWarning, "{ matrix(1:4,3,2) }");
 
         assertEval("{ x<-matrix(integer(), ncol=2) }");
         assertEval("{ x<-matrix(integer(), nrow=2) }");
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_attr.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_attr.java
index 47cd7772639c768c751213aef48511a7198a6dfa..5401630e8b04458d5445d39ca65b886d0894db88 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_attr.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_attr.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -59,7 +59,7 @@ public class TestBuiltin_attr extends TestBase {
 
     @Test
     public void testattr10() {
-        assertEval(Ignored.Unknown,
+        assertEval(Output.IgnoreWhitespace,
                         "argv <- list(structure(list(Employed = c(60.323, 61.122, 60.171, 61.187, 63.221, 63.639, 64.989, 63.761, 66.019, 67.857, 68.169, 66.513, 68.655, 69.564, 69.331, 70.551), GNP.deflator = c(83, 88.5, 88.2, 89.5, 96.2, 98.1, 99, 100, 101.2, 104.6, 108.4, 110.8, 112.6, 114.2, 115.7, 116.9), GNP = c(234.289, 259.426, 258.054, 284.599, 328.975, 346.999, 365.385, 363.112, 397.469, 419.18, 442.769, 444.546, 482.704, 502.601, 518.173, 554.894), Unemployed = c(235.6, 232.5, 368.2, 335.1, 209.9, 193.2, 187, 357.8, 290.4, 282.2, 293.6, 468.1, 381.3, 393.1, 480.6, 400.7), Armed.Forces = c(159, 145.6, 161.6, 165, 309.9, 359.4, 354.7, 335, 304.8, 285.7, 279.8, 263.7, 255.2, 251.4, 257.2, 282.7), Population = c(107.608, 108.632, 109.773, 110.929, 112.075, 113.27, 115.094, 116.219, 117.388, 118.734, 120.445, 121.95, 123.366, 125.368, 127.852, 130.081), Year = 1947:1962), .Names = c('Employed', 'GNP.deflator', 'GNP', 'Unemployed', 'Armed.Forces', 'Population', 'Year'), terms = quote(Employed ~ GNP.deflator + GNP + Unemployed +     Armed.Forces + Population + Year), row.names = 1947:1962, class = 'data.frame'), 'terms');attr(argv[[1]],argv[[2]]);");
     }
 
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_attributes.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_attributes.java
index bb630284a63131d608ab5c00fb595a43780b3874..af13a6708d2465a36ad8d63b0cd1408130038d9c 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_attributes.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_attributes.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2012-2014, Purdue University
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2013, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -129,7 +129,8 @@ public class TestBuiltin_attributes extends TestBase {
 
     @Test
     public void testattributes23() {
-        assertEval(Ignored.Unknown,
+        // FIXME several differences in output
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(list(), .Names = character(0), arguments = structure('object', simpleOnly = TRUE), signatures = list(), generic = structure(function (object) standardGeneric('show'), generic = structure('show', package = 'methods'), package = 'methods', group = list(), valueClass = character(0), signature = structure('object', simpleOnly = TRUE), default = structure(function (object) showDefault(object, FALSE), target = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'object', package = 'methods'), defined = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'object', package = 'methods'), generic = structure('show', package = 'methods'), class = structure('derivedDefaultMethod', package = 'methods')), skeleton = quote((function (object) showDefault(object, FALSE))(object)), class = structure('standardGeneric', package = 'methods')), class = structure('listOfMethods', package = 'methods')));attributes(argv[[1]]);");
     }
 
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_backsolve.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_backsolve.java
index 54925ece2d7d81038c1cb2966a8a406a8a0cd230..7a04dcd58492d64d46aa12a059f8885ba24fef26 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_backsolve.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_backsolve.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -19,19 +19,22 @@ public class TestBuiltin_backsolve extends TestBase {
 
     @Test
     public void testbacksolve1() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal backsolve
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(structure(c(-2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.0421675318334475, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.0421675318334475, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.445407110781343, 0, 0, 0, -1.73205080756888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.510819156714975, 0, 0, 0, 0, -1.73205080756888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.510819156714975, 0, 0, 0, 0, 0, -1.73205080756888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.510819156714975, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.0592753100948471, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.428419619610855, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.252201198430086, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.428419619610855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.73205080756888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.510819156714975, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.0592753100948472, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, -0.0592753100948472, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, -0.252201198430086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, -0.252201198430086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, -0.0421675318334475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, -0.0421675318334475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.73205080756888, 0, 0, 0, -0.0486697428190666, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.73205080756888, 0, 0, -0.0486697428190666, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.73205080756888, 0, -0.0486697428190666, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.73205080756888, -0.0486697428190666, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.935285871700694), .Dim = c(22L, 22L), .Dimnames = list(c('StripS01', 'StripS02', 'StripS03', 'StripS04', 'StripS05', 'StripS06', 'StripS07', 'StripS08', 'StripS09', 'StripS10', 'StripS11', 'StripS12', 'StripS13', 'StripS14', 'StripS15', 'StripS16', 'StripS17', 'StripS18', 'StripS19', 'StripS20', 'StripS21', ''), c('3', '4', '5', '6', '9', '10', '11', '12', '13', '14', '15', '16', '19', '20', '21', '25', '26', '27', '31', '32', '33', '39'))), structure(c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00019677474442243), .Dim = c(22L, 1L)), 22L, FALSE, FALSE); .Internal(backsolve(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]]))");
     }
 
     @Test
     public void testbacksolve2() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal backsolve
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(structure(c(-2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.0421590411210753, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.0421590411210753, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.445373554228914, 0, 0, 0, -1.73205080756888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.510781706167877, 0, 0, 0, 0, -1.73205080756888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.510781706167877, 0, 0, 0, 0, 0, -1.73205080756888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.510781706167877, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.0592635069735823, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.428392065749892, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.252172670570357, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.428392065749892, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.73205080756888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.510781706167877, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.0592635069735823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, 0, -0.0592635069735823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, 0, -0.252172670570357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.4142135623731, 0, 0, 0, 0, 0, 0, -0.252172670570357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, -0.0421590411210753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 0, 0, -0.0421590411210753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.73205080756888, 0, 0, 0, -0.0486599542810648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.73205080756888, 0, 0, -0.0486599542810647, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.73205080756888, 0, -0.0486599542810648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1.73205080756888, -0.0486599542810648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.935253697073914), .Dim = c(22L, 22L), .Dimnames = list(c('StripS01', 'StripS02', 'StripS03', 'StripS04', 'StripS05', 'StripS06', 'StripS07', 'StripS08', 'StripS09', 'StripS10', 'StripS11', 'StripS12', 'StripS13', 'StripS14', 'StripS15', 'StripS16', 'StripS17', 'StripS18', 'StripS19', 'StripS20', 'StripS21', ''), c('3', '4', '5', '6', '9', '10', '11', '12', '13', '14', '15', '16', '19', '20', '21', '25', '26', '27', '31', '32', '33', '39'))), structure(c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.20033559004316e-05), .Dim = c(22L, 1L)), 22L, FALSE, FALSE); .Internal(backsolve(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]]))");
     }
 
     @Test
     public void testbacksolve3() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal backsolve
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(structure(c(-0.91092349872819, -1.26769315823132, 0, -1.11965595698793), .Dim = c(2L, 2L)), structure(c(-0.000210872744086474, 0.000210873298561107), .Dim = c(2L, 1L)), 2L, FALSE, FALSE); .Internal(backsolve(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]]))");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_besselI.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_besselI.java
index 5fb3ece26f59c3a3fa6de335419dc43da5bd3ec2..78c36a510bcfe77ce15ab91e894b434a507e8d31 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_besselI.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_besselI.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -19,11 +19,13 @@ public class TestBuiltin_besselI extends TestBase {
 
     @Test
     public void testbesselI1() {
-        assertEval(Ignored.Unknown, "argv <- list(FALSE, FALSE, 1); .Internal(besselI(argv[[1]], argv[[2]], argv[[3]]))");
+        // FIXME RInternalError: not implemented: .Internal besselI
+        assertEval(Ignored.Unimplemented, "argv <- list(FALSE, FALSE, 1); .Internal(besselI(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
     @Test
     public void testbesselI2() {
-        assertEval(Ignored.Unknown, "argv <- list(logical(0), logical(0), 1); .Internal(besselI(argv[[1]], argv[[2]], argv[[3]]))");
+        // FIXME RInternalError: not implemented: .Internal besselI
+        assertEval(Ignored.Unimplemented, "argv <- list(logical(0), logical(0), 1); .Internal(besselI(argv[[1]], argv[[2]], argv[[3]]))");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_besselJ.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_besselJ.java
index 240913e1bd156f4eb18d385b615d9adf00393529..99066038882ec2c121685ebf7f3cc9f64d080315 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_besselJ.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_besselJ.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -19,17 +19,20 @@ public class TestBuiltin_besselJ extends TestBase {
 
     @Test
     public void testbesselJ1() {
-        assertEval(Ignored.Unknown, "argv <- list(logical(0), logical(0)); .Internal(besselJ(argv[[1]], argv[[2]]))");
+        // FIXME RInternalError: not implemented: .Internal besselJ
+        assertEval(Ignored.Unimplemented, "argv <- list(logical(0), logical(0)); .Internal(besselJ(argv[[1]], argv[[2]]))");
     }
 
     @Test
     public void testbesselJ2() {
-        assertEval(Ignored.Unknown, "argv <- list(FALSE, FALSE); .Internal(besselJ(argv[[1]], argv[[2]]))");
+        // FIXME RInternalError: not implemented: .Internal besselJ
+        assertEval(Ignored.Unimplemented, "argv <- list(FALSE, FALSE); .Internal(besselJ(argv[[1]], argv[[2]]))");
     }
 
     @Test
     public void testbesselJ3() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal besselJ
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(c(9.5367431640625e-07, 1.9073486328125e-06, 3.814697265625e-06, 7.62939453125e-06, 1.52587890625e-05, 3.0517578125e-05, 6.103515625e-05, 0.0001220703125, 0.000244140625, 0.00048828125, 0.0009765625, 0.001953125, 0.00390625, 0.0078125, 0.015625, 0.03125, 0.0625, 0.125, 0.25, 0.5, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024), 2.5); .Internal(besselJ(argv[[1]], argv[[2]]))");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_besselK.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_besselK.java
index 255718599cedb06978e35aa46bc2b20e48c2e342..100011e36518feecab0b1ad9b94ebd459db83bfc 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_besselK.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_besselK.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -19,23 +19,27 @@ public class TestBuiltin_besselK extends TestBase {
 
     @Test
     public void testbesselK1() {
-        assertEval(Ignored.Unknown, "argv <- list(FALSE, FALSE, 1); .Internal(besselK(argv[[1]], argv[[2]], argv[[3]]))");
+        // FIXME RInternalError: not implemented: .Internal besselK
+        assertEval(Ignored.Unimplemented, "argv <- list(FALSE, FALSE, 1); .Internal(besselK(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
     @Test
     public void testbesselK2() {
-        assertEval(Ignored.Unknown, "argv <- list(logical(0), logical(0), 1); .Internal(besselK(argv[[1]], argv[[2]], argv[[3]]))");
+        // FIXME RInternalError: not implemented: .Internal besselK
+        assertEval(Ignored.Unimplemented, "argv <- list(logical(0), logical(0), 1); .Internal(besselK(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
     @Test
     public void testbesselK3() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal besselK
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(c(9.5367431640625e-07, 1.9073486328125e-06, 3.814697265625e-06, 7.62939453125e-06, 1.52587890625e-05, 3.0517578125e-05, 6.103515625e-05, 0.0001220703125, 0.000244140625, 0.00048828125, 0.0009765625, 0.001953125, 0.00390625, 0.0078125, 0.015625, 0.03125, 0.0625, 0.125, 0.25, 0.5, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024), 3, 1); .Internal(besselK(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
     @Test
     public void testbesselK4() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal besselK
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(c(9.5367431640625e-07, 1.9073486328125e-06, 3.814697265625e-06, 7.62939453125e-06, 1.52587890625e-05, 3.0517578125e-05, 6.103515625e-05, 0.0001220703125, 0.000244140625, 0.00048828125, 0.0009765625, 0.001953125, 0.00390625, 0.0078125, 0.015625, 0.03125, 0.0625, 0.125, 0.25, 0.5, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024), 3.5, 1); .Internal(besselK(argv[[1]], argv[[2]], argv[[3]]))");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_besselY.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_besselY.java
index 76584cd255d1a643f5acbdce315d2c0280488eb9..4d751a26ec85afcd01c92f411f925338bcfe7519 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_besselY.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_besselY.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -19,24 +19,28 @@ public class TestBuiltin_besselY extends TestBase {
 
     @Test
     public void testbesselY1() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal besselY
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(c(9.5367431640625e-07, 1.9073486328125e-06, 3.814697265625e-06, 7.62939453125e-06, 1.52587890625e-05, 3.0517578125e-05, 6.103515625e-05, 0.0001220703125, 0.000244140625, 0.00048828125, 0.0009765625, 0.001953125, 0.00390625, 0.0078125, 0.015625, 0.03125, 0.0625, 0.125, 0.25, 0.5, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024), 20.5); .Internal(besselY(argv[[1]], argv[[2]]))");
     }
 
     @Test
     public void testbesselY2() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal besselY
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(2, c(3, 8.94, 14.88, 20.82, 26.76, 32.7, 38.64, 44.58, 50.52, 56.46, 62.4, 68.34, 74.28, 80.22, 86.16, 92.1, 98.04, 103.98, 109.92, 115.86, 121.8, 127.74, 133.68, 139.62, 145.56, 151.5, 157.44, 163.38, 169.32, 175.26, 181.2, 187.14, 193.08, 199.02, 204.96, 210.9, 216.84, 222.78, 228.72, 234.66, 240.6, 246.54, 252.48, 258.42, 264.36, 270.3, 276.24, 282.18, 288.12, 294.06, 300)); .Internal(besselY(argv[[1]], argv[[2]]))");
     }
 
     @Test
     public void testbesselY3() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal besselY
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(c(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 4, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6, 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 6.9, 7, 7.1, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 8, 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9, 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7, 9.8, 9.9, 10), -0.2); .Internal(besselY(argv[[1]], argv[[2]]))");
     }
 
     @Test
     public void testbesselY4() {
-        assertEval(Ignored.Unknown, "argv <- list(logical(0), logical(0)); .Internal(besselY(argv[[1]], argv[[2]]))");
+        // FIXME RInternalError: not implemented: .Internal besselY
+        assertEval(Ignored.Unimplemented, "argv <- list(logical(0), logical(0)); .Internal(besselY(argv[[1]], argv[[2]]))");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_beta.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_beta.java
index 3fc9483289c3eba870dd113b04fd0b40a1c23245..5492217c58bceb96bc3f2d6e81e8e6c232cd1570 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_beta.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_beta.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -19,21 +19,25 @@ public class TestBuiltin_beta extends TestBase {
 
     @Test
     public void testbeta1() {
-        assertEval(Ignored.Unknown, "argv <- list(FALSE, FALSE); .Internal(beta(argv[[1]], argv[[2]]))");
+        // FIXME RInternalError: not implemented: .Internal beta
+        assertEval(Ignored.Unimplemented, "argv <- list(FALSE, FALSE); .Internal(beta(argv[[1]], argv[[2]]))");
     }
 
     @Test
     public void testbeta2() {
-        assertEval(Ignored.Unknown, "argv <- list(logical(0), logical(0)); .Internal(beta(argv[[1]], argv[[2]]))");
+        // FIXME RInternalError: not implemented: .Internal beta
+        assertEval(Ignored.Unimplemented, "argv <- list(logical(0), logical(0)); .Internal(beta(argv[[1]], argv[[2]]))");
     }
 
     @Test
     public void testbeta4() {
-        assertEval(Ignored.Unknown, "argv <- structure(list(a = 0.01, b = 171), .Names = c('a', 'b'));do.call('beta', argv)");
+        // FIXME RInternalError: not implemented: .Internal beta
+        assertEval(Ignored.Unimplemented, "argv <- structure(list(a = 0.01, b = 171), .Names = c('a', 'b'));do.call('beta', argv)");
     }
 
     @Test
     public void testbeta5() {
-        assertEval(Ignored.Unknown, "argv <- structure(list(a = 1e-200, b = 1e-200), .Names = c('a',     'b'));do.call('beta', argv)");
+        // FIXME RInternalError: not implemented: .Internal beta
+        assertEval(Ignored.Unimplemented, "argv <- structure(list(a = 1e-200, b = 1e-200), .Names = c('a',     'b'));do.call('beta', argv)");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_bindtextdomain.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_bindtextdomain.java
index 7053de9de63e69570ad498a220f2560154f1336b..cd828767b8020cc87b6227ae7114013254a6bee5 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_bindtextdomain.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_bindtextdomain.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -19,11 +19,11 @@ public class TestBuiltin_bindtextdomain extends TestBase {
 
     @Test
     public void testbindtextdomain1() {
-        assertEval(Ignored.Unknown, "argv <- list('splines', '/home/roman/r-instrumented/library/translations'); .Internal(bindtextdomain(argv[[1]], argv[[2]]))");
+        assertEval(Ignored.MissingBuiltin, "argv <- list('splines', '/home/roman/r-instrumented/library/translations'); .Internal(bindtextdomain(argv[[1]], argv[[2]]))");
     }
 
     @Test
     public void testbindtextdomain2() {
-        assertEval(Ignored.Unknown, "argv <- list('utils', '/home/lzhao/hg/r-instrumented/library/translations'); .Internal(bindtextdomain(argv[[1]], argv[[2]]))");
+        assertEval(Ignored.MissingBuiltin, "argv <- list('utils', '/home/lzhao/hg/r-instrumented/library/translations'); .Internal(bindtextdomain(argv[[1]], argv[[2]]))");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_bitwiseShiftR.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_bitwiseShiftR.java
index 0f441d89da75e23997520e9e2f493ab1385b30ab..5066ea349408fb373d9b2c160ed1d6215cdf418d 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_bitwiseShiftR.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_bitwiseShiftR.java
@@ -33,6 +33,6 @@ public class TestBuiltin_bitwiseShiftR extends TestBase {
         assertEval("{ bitwShiftR(c(3,2,4), c(3+3i)) }");
 
         // No warning message printed for NAs produced by coercion
-        assertEval(Ignored.Unknown, "{ bitwShiftR(c(1,2,3,4), c(\"Hello\")) }");
+        assertEval(Output.IgnoreWarningMessage, "{ bitwShiftR(c(1,2,3,4), c(\"Hello\")) }");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_c.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_c.java
index a44f9d2c3a2f18db8ff09c2c8efc16e082edae85..99bfa6460b0b1ecef9cc6496604026b2028ba8f1 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_c.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_c.java
@@ -86,7 +86,11 @@ public class TestBuiltin_c extends TestBase {
 
     @Test
     public void testc14() {
-        assertEval(Ignored.Unknown,
+        // FIXME FastR does not honor setting options(digits=ndecimaldigits)
+        // First test is a simplified problem on which the second test would fail too (besides that
+        // it should work fine)
+        assertEval(Ignored.OutputFormatting, "options(digits=4);c(0.12345678912345,0.123)");
+        assertEval(Ignored.OutputFormatting,
                         "argv <- list(`Grand mean` = structure(103.87323943662, class = 'mtable'), structure(list(N = structure(c(78.7365206866197, 98.5088731171753, 113.842206450509, 123.008873117175), .Dim = 4L, .Dimnames = structure(list(N = c('0.0cwt', '0.2cwt', '0.4cwt', '0.6cwt')), .Names = 'N'), class = 'mtable'), `V:N` = structure(c(79.5323303457107, 86.1989970123773, 69.7732394366197, 98.0323303457106, 108.032330345711, 89.1989970123773, 114.198997012377, 116.698997012377, 110.365663679044, 124.365663679044, 126.365663679044, 118.032330345711), .Dim = 3:4, .Dimnames = structure(list(V = c('Golden.rain', 'Marvellous', 'Victory'), N = c('0.0cwt', '0.2cwt', '0.4cwt', '0.6cwt')), .Names = c('V', 'N')), class = 'mtable')), .Names = c('N', 'V:N')));c(argv[[1]],argv[[2]]);");
     }
 
@@ -302,7 +306,9 @@ public class TestBuiltin_c extends TestBase {
 
     @Test
     public void testc57() {
-        assertEval(Ignored.Unknown,
+        // FIXME FastR produces slightly different output for class = 'bibentry' than GnuR
+        // It should be decided which output is the best
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(list(structure(list(title = 'boot: Bootstrap R (S-PLUS) Functions', author = structure(list(structure(list(given = 'Angelo', family = 'Canty', role = 'aut', email = NULL, comment = 'S original'), .Names = c('given', 'family', 'role', 'email', 'comment')), structure(list(given = c('Brian', 'D.'), family = 'Ripley', role = c('aut', 'trl', 'cre'), email = 'ripley@stats.ox.ac.uk', comment = 'R port, author of parallel support'), .Names = c('given', 'family', 'role', 'email', 'comment'))), class = 'person'),     year = '2012', note = 'R package version 1.3-4', url = 'http://CRAN.R-project.org/package=boot'), .Names = c('title', 'author', 'year', 'note', 'url'), bibtype = 'Manual', key = 'boot-package')), class = 'bibentry'), structure(list(structure(list(title = 'Bootstrap Methods and Their Applications', author = structure(list(structure(list(given = c('Anthony', 'C.'), family = 'Davison', role = 'aut', email = NULL, comment = NULL), .Names = c('given', 'family', 'role', 'email', 'comment')), structure(list(    given = c('David', 'V.'), family = 'Hinkley', role = 'aut', email = NULL, comment = NULL), .Names = c('given', 'family', 'role', 'email', 'comment'))), class = 'person'), year = '1997', publisher = 'Cambridge University Press', address = 'Cambridge', isbn = '0-521-57391-2', url = 'http://statwww.epfl.ch/davison/BMA/'), .Names = c('title', 'author', 'year', 'publisher', 'address', 'isbn', 'url'), bibtype = 'Book', key = 'boot-book')), class = 'bibentry'));c(argv[[1]],argv[[2]]);");
     }
 
@@ -323,7 +329,11 @@ public class TestBuiltin_c extends TestBase {
 
     @Test
     public void testc61() {
-        assertEval(Ignored.Unknown, "argv <- list(structure(list(`ANY#ANY` = .Primitive('==')), .Names = 'ANY#ANY'), list());c(argv[[1]],argv[[2]]);");
+        // FIXME: FastR does not name the args for primitives so the following gives
+        // "function(null,null)" and "function(null)" while GnuR gives
+        // "function (e1, e2)" and "function (x)"
+        assertEval(Ignored.OutputFormatting, ".Primitive('==');.Primitive('!');");
+        assertEval(Ignored.OutputFormatting, "argv <- list(structure(list(`ANY#ANY` = .Primitive('==')), .Names = 'ANY#ANY'), list());c(argv[[1]],argv[[2]]);");
     }
 
     @Test
@@ -388,7 +398,10 @@ public class TestBuiltin_c extends TestBase {
 
     @Test
     public void testc74() {
-        assertEval(Ignored.Unknown,
+        // FIXME the contained "formatNum = function (x, ...) format(x, ..."
+        // is output without newline before 'format' in FastR
+        // and with newline before 'format' in GnuR
+        assertEval(Ignored.OutputFormatting,
                         "argv <- list(structure(list(object = c('time', 'status')), .Names = 'object'), structure(list(max.level = NA, vec.len = 4, digits.d = 3, nchar.max = 128, give.attr = TRUE, give.head = TRUE, width = 80L, envir = NULL, strict.width = 'no', formatNum = function (x, ...) format(x, trim = TRUE, drop0trailing = TRUE, ...), list.len = 99), .Names = c('max.level', 'vec.len', 'digits.d', 'nchar.max', 'give.attr', 'give.head', 'width', 'envir', 'strict.width', 'formatNum', 'list.len')), structure(list(give.length = TRUE, nest.lev = 2, indent.str = '  .. ..'), .Names = c('give.length', 'nest.lev', 'indent.str')));c(argv[[1]],argv[[2]],argv[[3]]);");
     }
 
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_cbind.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_cbind.java
index d675297dfde60ea95f8c542ac019a3b20c5f6fd6..82d71854d968bd8b5b0084273e5fe17026599329 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_cbind.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_cbind.java
@@ -38,7 +38,9 @@ public class TestBuiltin_cbind extends TestBase {
 
     @Test
     public void testcbind4() {
-        assertEval(Ignored.Unknown,
+        // FastR gives longer output of "structure(c(3, 2, 2,..." but gives
+        // wider output of the structure (258 columns indent) which is less readable
+        assertEval(Ignored.OutputFormatting,
                         "argv <- list(structure(list(Sepal.Length = c(5.1, 4.9, 4.7, 4.6,     5, 5.4, 4.6, 5, 4.4, 4.9, 5.4, 4.8, 4.8, 4.3, 5.8, 5.7, 5.4,     5.1, 5.7, 5.1, 5.4, 5.1, 4.6, 5.1, 4.8, 5, 5, 5.2, 5.2, 4.7,     4.8, 5.4, 5.2, 5.5, 4.9, 5, 5.5, 4.9, 4.4, 5.1, 5, 4.5, 4.4,     5, 5.1, 4.8, 5.1, 4.6, 5.3, 5, 7, 6.4, 6.9, 5.5, 6.5, 5.7,     6.3, 4.9, 6.6, 5.2, 5, 5.9, 6, 6.1, 5.6, 6.7, 5.6, 5.8, 6.2,     5.6, 5.9, 6.1, 6.3, 6.1, 6.4, 6.6, 6.8, 6.7, 6, 5.7, 5.5,     5.5, 5.8, 6, 5.4, 6, 6.7, 6.3, 5.6, 5.5, 5.5, 6.1, 5.8, 5,     5.6, 5.7, 5.7, 6.2, 5.1, 5.7, 6.3, 5.8, 7.1, 6.3, 6.5, 7.6,     4.9, 7.3, 6.7, 7.2, 6.5, 6.4, 6.8, 5.7, 5.8, 6.4, 6.5, 7.7,     7.7, 6, 6.9, 5.6, 7.7, 6.3, 6.7, 7.2, 6.2, 6.1, 6.4, 7.2,     7.4, 7.9, 6.4, 6.3, 6.1, 7.7, 6.3, 6.4, 6, 6.9, 6.7, 6.9,     5.8, 6.8, 6.7, 6.7, 6.3, 6.5, 6.2, 5.9), Sepal.Width = c(4,     3, 3, 3, 4, 4, 3, 3, 3, 3, 4, 3, 3, 3, 4, 4, 4, 4, 4, 4,     3, 4, 4, 3, 3, 3, 3, 4, 3, 3, 3, 3, 4, 4, 3, 3, 4, 4, 3,     3, 4, 2, 3, 4, 4, 3, 4, 3, 4, 3, 3, 3, 3, 2, 3, 3, 3, 2,     3, 3, 2, 3, 2, 3, 3, 3, 3, 3, 2, 2, 3, 3, 2, 3, 3, 3, 3,     3, 3, 3, 2, 2, 3, 3, 3, 3, 3, 2, 3, 2, 3, 3, 3, 2, 3, 3,     3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 2, 3, 2, 4, 3, 3, 3, 2, 3,     3, 3, 4, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 3,     3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3), Petal.Length = c(1.4,     1.4, 1.3, 1.5, 1.4, 1.7, 1.4, 1.5, 1.4, 1.5, 1.5, 1.6, 1.4,     1.1, 1.2, 1.5, 1.3, 1.4, 1.7, 1.5, 1.7, 1.5, 1, 1.7, 1.9,     1.6, 1.6, 1.5, 1.4, 1.6, 1.6, 1.5, 1.5, 1.4, 1.5, 1.2, 1.3,     1.4, 1.3, 1.5, 1.3, 1.3, 1.3, 1.6, 1.9, 1.4, 1.6, 1.4, 1.5,     1.4, 4.7, 4.5, 4.9, 4, 4.6, 4.5, 4.7, 3.3, 4.6, 3.9, 3.5,     4.2, 4, 4.7, 3.6, 4.4, 4.5, 4.1, 4.5, 3.9, 4.8, 4, 4.9, 4.7,     4.3, 4.4, 4.8, 5, 4.5, 3.5, 3.8, 3.7, 3.9, 5.1, 4.5, 4.5,     4.7, 4.4, 4.1, 4, 4.4, 4.6, 4, 3.3, 4.2, 4.2, 4.2, 4.3, 3,     4.1, 6, 5.1, 5.9, 5.6, 5.8, 6.6, 4.5, 6.3, 5.8, 6.1, 5.1,     5.3, 5.5, 5, 5.1, 5.3, 5.5, 6.7, 6.9, 5, 5.7, 4.9, 6.7, 4.9,     5.7, 6, 4.8, 4.9, 5.6, 5.8, 6.1, 6.4, 5.6, 5.1, 5.6, 6.1,     5.6, 5.5, 4.8, 5.4, 5.6, 5.1, 5.1, 5.9, 5.7, 5.2, 5, 5.2,     5.4, 5.1), Petal.Width = c(0.2, 0.2, 0.2, 0.2, 0.2, 0.4,     0.3, 0.2, 0.2, 0.1, 0.2, 0.2, 0.1, 0.1, 0.2, 0.4, 0.4, 0.3,     0.3, 0.3, 0.2, 0.4, 0.2, 0.5, 0.2, 0.2, 0.4, 0.2, 0.2, 0.2,     0.2, 0.4, 0.1, 0.2, 0.2, 0.2, 0.2, 0.1, 0.2, 0.2, 0.3, 0.3,     0.2, 0.6, 0.4, 0.3, 0.2, 0.2, 0.2, 0.2, 1.4, 1.5, 1.5, 1.3,     1.5, 1.3, 1.6, 1, 1.3, 1.4, 1, 1.5, 1, 1.4, 1.3, 1.4, 1.5,     1, 1.5, 1.1, 1.8, 1.3, 1.5, 1.2, 1.3, 1.4, 1.4, 1.7, 1.5,     1, 1.1, 1, 1.2, 1.6, 1.5, 1.6, 1.5, 1.3, 1.3, 1.3, 1.2, 1.4,     1.2, 1, 1.3, 1.2, 1.3, 1.3, 1.1, 1.3, 2.5, 1.9, 2.1, 1.8,     2.2, 2.1, 1.7, 1.8, 1.8, 2.5, 2, 1.9, 2.1, 2, 2.4, 2.3, 1.8,     2.2, 2.3, 1.5, 2.3, 2, 2, 1.8, 2.1, 1.8, 1.8, 1.8, 2.1, 1.6,     1.9, 2, 2.2, 1.5, 1.4, 2.3, 2.4, 1.8, 1.8, 2.1, 2.4, 2.3,     1.9, 2.3, 2.5, 2.3, 1.9, 2, 2.3, 1.8), Species = structure(c(1L,     1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,     1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,     1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,     1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,     2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,     2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,     2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L,     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,     3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L),     .Label = c('setosa', 'versicolor', 'virginica'), class = 'factor')),     .Names = c('Sepal.Length', 'Sepal.Width', 'Petal.Length',         'Petal.Width', 'Species'), row.names = c(NA, -150L),     class = 'data.frame'), structure(c(3, 2, 2, 2, 3, 3, 2, 2,     2, 2, 3, 2, 2, 2, 3, 3, 3, 3, 3, 3, 2, 3, 3, 2, 2, 2, 2,     3, 2, 2, 2, 2, 3, 3, 2, 2, 3, 3, 2, 2, 3, 1, 2, 3, 3, 2,     3, 2, 3, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 2, 1, 2, 1, 2, 2,     2, 2, 2, 1, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2,     2, 2, 2, 1, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2,     2, 2, 2, 1, 2, 1, 3, 2, 2, 2, 1, 2, 2, 2, 3, 2, 1, 2, 2,     2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2,     2, 2, 2, 2, 2, 1, 2, 2, 2), .Names = c('4', '3', '3', '3',     '4', '4', '3', '3', '3', '3', '4', '3', '3', '3', '4', '4',     '4', '4', '4', '4', '3', '4', '4', '3', '3', '3', '3', '4',     '3', '3', '3', '3', '4', '4', '3', '3', '4', '4', '3', '3',     '4', '2', '3', '4', '4', '3', '4', '3', '4', '3', '3', '3',     '3', '2', '3', '3', '3', '2', '3', '3', '2', '3', '2', '3',     '3', '3', '3', '3', '2', '2', '3', '3', '2', '3', '3', '3',     '3', '3', '3', '3', '2', '2', '3', '3', '3', '3', '3', '2',     '3', '2', '3', '3', '3', '2', '3', '3', '3', '3', '2', '3',     '3', '3', '3', '3', '3', '3', '2', '3', '2', '4', '3', '3',     '3', '2', '3', '3', '3', '4', '3', '2', '3', '3', '3', '3',     '3', '3', '3', '3', '3', '3', '3', '4', '3', '3', '3', '3',     '3', '3', '3', '3', '3', '3', '3', '3', '3', '3', '2', '3',     '3', '3')));" +
                                         "do.call('cbind', argv)");
     }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_chartr.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_chartr.java
index 5174298f6c1667163cc76353b5e3a64686fd1071..ea22fa45534af46ada63cf56eca3fbe11cb9fdfa 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_chartr.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_chartr.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -19,26 +19,26 @@ public class TestBuiltin_chartr extends TestBase {
 
     @Test
     public void testchartr1() {
-        assertEval(Ignored.Unknown, "argv <- list('.', '.', c('0.02', '0.06', '0.11', '0.22', '0.56', '1.1')); .Internal(chartr(argv[[1]], argv[[2]], argv[[3]]))");
+        assertEval(Ignored.Unimplemented, "argv <- list('.', '.', c('0.02', '0.06', '0.11', '0.22', '0.56', '1.1')); .Internal(chartr(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
     @Test
     public void testchartr2() {
-        assertEval(Ignored.Unknown, "argv <- list('iXs', 'why', 'MiXeD cAsE 123'); .Internal(chartr(argv[[1]], argv[[2]], argv[[3]]))");
+        assertEval(Ignored.Unimplemented, "argv <- list('iXs', 'why', 'MiXeD cAsE 123'); .Internal(chartr(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
     @Test
     public void testchartr3() {
-        assertEval(Ignored.Unknown, "argv <- list('a-cX', 'D-Fw', 'MiXeD cAsE 123'); .Internal(chartr(argv[[1]], argv[[2]], argv[[3]]))");
+        assertEval(Ignored.Unimplemented, "argv <- list('a-cX', 'D-Fw', 'MiXeD cAsE 123'); .Internal(chartr(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
     @Test
     public void testchartr4() {
-        assertEval(Ignored.Unknown, "argv <- list('.', '.', character(0)); .Internal(chartr(argv[[1]], argv[[2]], argv[[3]]))");
+        assertEval(Ignored.Unimplemented, "argv <- list('.', '.', character(0)); .Internal(chartr(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
     @Test
     public void testchartr6() {
-        assertEval(Ignored.Unknown, "argv <- structure(list(old = 'NA', new = 'na', x = c('NA', NA,     'BANANA')), .Names = c('old', 'new', 'x'));do.call('chartr', argv)");
+        assertEval(Ignored.Unimplemented, "argv <- structure(list(old = 'NA', new = 'na', x = c('NA', NA,     'BANANA')), .Names = c('old', 'new', 'x'));do.call('chartr', argv)");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_classassign.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_classassign.java
index 28e7365e5ad2e4c0eb0e083f59c6d931092d5b3d..a0b45bf63d574b4da1493cc0143992448abfaad5 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_classassign.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_classassign.java
@@ -19,13 +19,15 @@ public class TestBuiltin_classassign extends TestBase {
 
     @Test
     public void testclassassign1() {
-        assertEval(Ignored.Unknown,
+        // GnuR: extra newline before '.Ignored' and several 'attr(,"class")'
+        assertEval(Ignored.OutputFormatting,
                         "argv <- list(structure(function (x, mode = 'any') .Internal(as.vector(x, mode)), target = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'x', package = 'methods'), defined = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'x', package = 'methods'), generic = character(0), class = structure('MethodDefinition', package = 'methods')), value = structure('MethodDefinition', package = 'methods'));`class<-`(argv[[1]],argv[[2]]);");
     }
 
     @Test
     public void testclassassign2() {
-        assertEval(Ignored.Unknown,
+        // GnuR: An extra "c0" in output
+        assertEval(Ignored.OutputFormatting,
                         "argv <- list(structure(list(c0 = structure(integer(0), .Label = character(0), class = 'factor')), .Names = 'c0', row.names = character(0), class = structure('integer(0)', .Names = 'c0')), structure(list(c0 = structure(integer(0), .Label = character(0), class = 'factor')), .Names = 'c0', row.names = character(0), class = structure('integer(0)', .Names = 'c0')));`class<-`(argv[[1]],argv[[2]]);");
     }
 
@@ -41,7 +43,8 @@ public class TestBuiltin_classassign extends TestBase {
 
     @Test
     public void testclassassign5() {
-        assertEval(Ignored.Unknown,
+        // GnuR: extra 'attr(,"class")'
+        assertEval(Ignored.OutputFormatting,
                         "argv <- list(structure(character(0), .Names = character(0), package = character(0), class = structure('signature', package = 'methods')), value = structure('signature', package = 'methods'));`class<-`(argv[[1]],argv[[2]]);");
     }
 
@@ -62,19 +65,22 @@ public class TestBuiltin_classassign extends TestBase {
 
     @Test
     public void testclassassign9() {
-        assertEval(Ignored.Unknown,
+        // GnuR: extra 'attr(,"class")'
+        assertEval(Ignored.OutputFormatting,
                         "argv <- list(structure(c(1, 0, 0, 0, 1, 0, 0, 0, 1), .Dim = c(3L, 3L), class = structure('mmat2', package = '.GlobalEnv')), value = structure('mmat2', package = '.GlobalEnv'));`class<-`(argv[[1]],argv[[2]]);");
     }
 
     @Test
     public void testclassassign10() {
-        assertEval(Ignored.Unknown,
+        // FastR: extra newline after date
+        assertEval(Output.IgnoreWhitespace,
                         "argv <- list(structure(c('o', 'p', 'v', 'i', 'r', 'w', 'b', 'm', 'f', 's'), date = structure(1224086400, class = c('POSIXct', 'POSIXt'), tzone = ''), class = 'stamped'), value = 'stamped');`class<-`(argv[[1]],argv[[2]]);");
     }
 
     @Test
     public void testclassassign11() {
-        assertEval(Ignored.Unknown,
+        // GnuR: extra output of 3.141... and attr(,"class")
+        assertEval(Ignored.OutputFormatting,
                         "argv <- list(structure(3.14159265358979, class = structure('3.14159265358979', class = 'testit')), structure(3.14159265358979, class = structure('3.14159265358979', class = 'testit')));`class<-`(argv[[1]],argv[[2]]);");
     }
 
@@ -85,13 +91,15 @@ public class TestBuiltin_classassign extends TestBase {
 
     @Test
     public void testclassassign13() {
-        assertEval(Ignored.Unknown,
+        // GnuR: extra 'attr(,"class")'
+        assertEval(Ignored.OutputFormatting,
                         "argv <- list(structure(function (qr, y, k = qr$rank) standardGeneric('qr.fitted'), target = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'qr', package = 'methods'), defined = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'qr', package = 'methods'), generic = character(0), class = structure('MethodDefinition', package = 'methods')), value = structure('MethodDefinition', package = 'methods'));`class<-`(argv[[1]],argv[[2]]);");
     }
 
     @Test
     public void testclassassign14() {
-        assertEval(Ignored.Unknown,
+        // GnuR: extra 'attr(,"class")'
+        assertEval(Ignored.OutputFormatting,
                         "argv <- list(structure(function (x = 1, nrow, ncol) standardGeneric('diag'), target = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'x', package = 'methods'), defined = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'x', package = 'methods'), generic = character(0), class = structure('MethodDefinition', package = 'methods')), value = structure('MethodDefinition', package = 'methods'));`class<-`(argv[[1]],argv[[2]]);");
     }
 
@@ -102,25 +110,29 @@ public class TestBuiltin_classassign extends TestBase {
 
     @Test
     public void testclassassign16() {
-        assertEval(Ignored.Unknown,
+        // GnuR: extra 'attr(,"class")'
+        assertEval(Ignored.OutputFormatting,
                         "argv <- list(structure(function (x, y, ...) standardGeneric('plot'), target = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'x', package = 'methods'), defined = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'x', package = 'methods'), generic = character(0), class = structure('MethodDefinition', package = 'methods')), value = structure('MethodDefinition', package = 'methods'));`class<-`(argv[[1]],argv[[2]]);");
     }
 
     @Test
     public void testclassassign17() {
-        assertEval(Ignored.Unknown,
+        // GnuR: extra 'attr(,"class")'
+        assertEval(Ignored.OutputFormatting,
                         "argv <- list(structure(function (x, logarithm = TRUE, ...) UseMethod('determinant'), target = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'x', package = 'methods'), defined = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'x', package = 'methods'), generic = character(0), class = structure('MethodDefinition', package = 'methods')), value = structure('MethodDefinition', package = 'methods'));`class<-`(argv[[1]],argv[[2]]);");
     }
 
     @Test
     public void testclassassign18() {
-        assertEval(Ignored.Unknown,
+        // GnuR: extra 'attr(,"class")'
+        assertEval(Ignored.OutputFormatting,
                         "argv <- list(structure(function (x, y = NULL) .Internal(crossprod(x, y)), target = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'x', package = 'methods'), defined = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'x', package = 'methods'), generic = character(0), class = structure('MethodDefinition', package = 'methods')), value = structure('MethodDefinition', package = 'methods'));`class<-`(argv[[1]],argv[[2]]);");
     }
 
     @Test
     public void testclassassign19() {
-        assertEval(Ignored.Unknown,
+        // GnuR: extra 'attr(,"class")'
+        assertEval(Ignored.OutputFormatting,
                         "argv <- list(structure(function (obj, force = FALSE) standardGeneric('unname'), target = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'obj', package = 'methods'), defined = structure('ANY', class = structure('signature', package = 'methods'), .Names = 'obj', package = 'methods'), generic = character(0), class = structure('MethodDefinition', package = 'methods')), value = structure('MethodDefinition', package = 'methods'));`class<-`(argv[[1]],argv[[2]]);");
     }
 
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_colMeans.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_colMeans.java
index 25ae251a816d2125cae289712f6b4ae3a8685e58..9ea4a30bba638b7d3415be19ecc921ff3929f5a6 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_colMeans.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_colMeans.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2012-2014, Purdue University
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2013, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -64,7 +64,10 @@ public class TestBuiltin_colMeans extends TestBase {
 
     @Test
     public void testcolMeans10() {
-        assertEval(Ignored.Unknown,
+        // FIXME Not sure if it's rounding error or ImplementationError
+        // Expected output: [1] -2.929138e-14
+        // FastR output: [1] -2.892034e-14
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(c(NA, 30.6929824561403, 25.6929824561403, 18.6929824561403, 6.69298245614035, -6.30701754385965, -13.3070175438597, -24.3070175438597, -21.3070175438597, 3.69298245614035, -2.30701754385965, -1.30701754385965, -20.3070175438597, -17.3070175438597, NA, NA, 12.6929824561403, 0.692982456140349, 0.692982456140349, -5.30701754385965, -11.3070175438597, -19.3070175438597, -10.3070175438597, -17.3070175438597, -20.3070175438597, -32.3070175438597, -24.3070175438597, -33.3070175438597, -31.3070175438597, -24.3070175438597, NA, -24.3070175438597, 2.69298245614035, 17.6929824561403, 18.6929824561403, 3.69298245614035, 14.6929824561403, 4.69298245614035, 14.6929824561403, 0.692982456140349, 14.6929824561403, 11.6929824561403, 22.6929824561403, 16.6929824561403, 19.6929824561403, 14.6929824561403, 10.6929824561403, 18.6929824561403, 22.6929824561403, 5.69298245614035, 6.69298245614035, 0.692982456140349, 3.69298245614035, -7.30701754385965, -8.30701754385965, -4.30701754385965, 0.692982456140349, 5.69298245614035, 4.69298245614035, 9.69298245614035, 14.6929824561403, 5.69298245614035, 4.69298245614035, 0.692982456140349, 15.6929824561403, 26.6929824561403, 14.6929824561403, 21.6929824561403, 22.6929824561403, 14.6929824561403, 5.69298245614035, 17.6929824561403, 19.6929824561403, 7.69298245614035, 5.69298245614035, 0.692982456140349, 23.6929824561403, 16.6929824561403, 12.6929824561403, 12.6929824561403, 14.6929824561403, 7.69298245614035, 12.6929824561403, 5.69298245614035, 6.69298245614035, -10.3070175438597, -0.307017543859651, -12.3070175438597, -12.3070175438597, -4.30701754385965, -18.3070175438597, -10.3070175438597, -20.3070175438597, -7.30701754385965, -21.3070175438597, -12.3070175438597, 2.69298245614035, 8.69298245614035, 8.69298245614035, -0.307017543859651, 9.69298245614035, -3.30701754385965, 4.69298245614035, -4.30701754385965, -5.30701754385965, -8.30701754385965, -2.30701754385965, -7.30701754385965, -7.30701754385965, 4.69298245614035, NA, NA, 11.6929824561403, -12.3070175438597, -16.3070175438597, -29.3070175438597, -28.3070175438597, -31.3070175438597, -32.3070175438597, -32.3070175438597), .Dim = c(120L, 1L), '`scaled:center`' = 56.3070175438597, .Dimnames = list(NULL, 'Series 1'), .Tsp = c(1, 120, 1), class = 'ts'), 120, 1, TRUE); .Internal(colMeans(argv[[1]], argv[[2]], argv[[3]], argv[[4]]))");
     }
 
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_copyDFattr.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_copyDFattr.java
index fa5d0bd6d6a24d3564afe1ae31be9de78ca0f93e..eab5145ae376887c17bb8c306b7c4e2645a03f1a 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_copyDFattr.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_copyDFattr.java
@@ -59,7 +59,8 @@ public class TestBuiltin_copyDFattr extends TestBase {
 
     @Test
     public void testcopyDFattr9() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: java.lang.ArrayIndexOutOfBoundsException: 0
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(list(Version = c('2.11.0', '2.11.0', '2.11.0', '2.11.0', '2.11.0', '2.11.0', '2.11.0', '2.11.0', '2.11.0'), Date = c(NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_, NA_character_), Category = c('BUG FIXES', 'BUG FIXES', 'BUG FIXES', 'BUG FIXES', 'BUG FIXES', 'BUG FIXES', 'BUG FIXES', 'BUG FIXES', 'BUG FIXES'), Text = c('Using with(), eval() etc with a list with some unnamed elements now\\n works.  (PR#14035)', 'cor(A, B) where A is n x 1 and B a 1-dimensional array segfaulted or\\n gave an internal error.  (The case cor(B, A) was PR#7116.)', 'cut.POSIXt() applied to a start value after the DST transition on a\\n DST-change day could give the wrong time for argument breaks in\\n units of days or longer.  (PR#14208)', 'do_par() UNPROTECTed too early (PR#14214)', 'Subassignment x[[....]] <- y didn\\'t check for a zero-length right\\n hand side, and inserted a rubbish value.  (PR#14217)', 'Extreme tail behavior of, pbeta() {and hence pf()}, e.g., pbeta(x,\\n 3, 2200, lower.tail=FALSE, log.p=TRUE) now returns finite values\\n instead of jumping to -Inf too early.  (PR#14230).', 'read.fwf() misread multi-line records when n was specified.\\n (PR#14241)', 'gzcon( <textConnection> ), an error, no longer damages the\\n connection (in a way to have it segfault).  (PR#14237)', 'If xy[z].coords (used internally by many graphics functions) are\\n given a list as x, they now check that the list has suitable names\\n and give a more informative error message.  (PR#13936)')), .Names = c('Version', 'Date', 'Category', 'Text'), bad = c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE), package = 'R', row.names = c(1473L, 1483L, 1484L, 1485L, 1486L, 1493L, 1499L, 1503L, 1505L), class = c('news_db_from_Rd', 'news_db', 'data.frame')), structure(list(Version = NULL, Date = NULL, Category = NULL, Text = NULL), .Names = c('Version', 'Date', 'Category', 'Text'), bad = c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE), package = 'R', row.names = c(1473L, 1483L, 1484L, 1485L, 1486L, 1493L, 1499L, 1503L, 1505L), class = c('news_db_from_Rd', 'news_db', 'data.frame'))); .Internal(copyDFattr(argv[[1]], argv[[2]]))");
     }
 
@@ -81,7 +82,8 @@ public class TestBuiltin_copyDFattr extends TestBase {
 
     @Test
     public void testcopyDFattr13() {
-        assertEval(Ignored.Unknown,
+        // GnuR extra attr(,"class") in output - not sure if appropriate
+        assertEval(Ignored.ReferenceError,
                         "argv <- list(structure(list(x = 1:10, y = c(-0.626453810742332, 0.183643324222082, -0.835628612410047, 1.59528080213779, 0.329507771815361, -0.820468384118015, 0.487429052428485, 0.738324705129217, 0.575781351653492, -0.305388387156356), z = structure(c(9L, 3L, 6L, 2L, 10L, 5L, 1L, 4L, 8L, 7L), .Label = c('a', 'c', 'f', 'h', 'i', 'p', 'v', 'x', 'y', 'z'), class = 'factor')), .Names = c('x', 'y', 'z'), row.names = c(NA, 10L), .S3Class = 'data.frame', timestamps = structure(1386392033.84327, class = c('POSIXct', 'POSIXt')), class = structure('myFrame', package = '.GlobalEnv')), structure(list(x = NULL, y = NULL, z = NULL), .Names = c('x', 'y', 'z'), row.names = c(NA, 10L), .S3Class = 'data.frame', timestamps = structure(1386392033.84327, class = c('POSIXct', 'POSIXt')), class = structure('myFrame', package = '.GlobalEnv'))); .Internal(copyDFattr(argv[[1]], argv[[2]]))");
     }
 
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_cospi.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_cospi.java
index 1559f7c4f3c135ea293b52de74335bd17ca44060..22f4fbe2f12818057a7abe0054038cb199250cb7 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_cospi.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_cospi.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -62,7 +62,8 @@ public class TestBuiltin_cospi extends TestBase {
 
     @Test
     public void testcos7() {
-        assertEval(Ignored.Unknown, "argv <- list(Inf);cospi(argv[[1]]);");
+        // Missing warning: In cospi(argv[[1]]) : NaNs produced
+        assertEval(Output.MissingWarning, "argv <- list(Inf);cospi(argv[[1]]);");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_crossprod.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_crossprod.java
index 74a1c7a8e1c20bb7bdfa5d8849aa3a8ea159f4a5..07cbdc0b4b73033d48b57d03fa4e3739162269c3 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_crossprod.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_crossprod.java
@@ -24,7 +24,9 @@ public class TestBuiltin_crossprod extends TestBase {
 
     @Test
     public void testcrossprod2() {
-        assertEval(Ignored.Unknown, "argv <- list(numeric(0), numeric(0)); .Internal(crossprod(argv[[1]], argv[[2]]))");
+        // FIXME NullPointerException at
+        // com.oracle.truffle.r.nodes.builtin.base.MatMult.left0Dim(MatMult.java:119)
+        assertEval(Ignored.ImplementationError, "argv <- list(numeric(0), numeric(0)); .Internal(crossprod(argv[[1]], argv[[2]]))");
     }
 
     @Test
@@ -54,7 +56,8 @@ public class TestBuiltin_crossprod extends TestBase {
 
     @Test
     public void testcrossprod8() {
-        assertEval(Ignored.Unknown,
+        // FIXME FastR ignores .Dimnames (docs say to keep them)
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(c(-0.0972759604917099, -0.0972759604917099, -0.197781705719934, -0.197781705719934, -0.258476920906799, -0.258476920906799, -0.31681058743414, -0.31681058743414, -0.36711291168933, -0.36711291168933, -0.386611727075222, -0.386611727075222, -0.339690730499459, -0.33969073049946, -0.392353467475584, -0.392353467475584, -0.277328754578855, -0.277328754578855, -0.062581948827679, -0.062581948827679, 0.204605005658209, 0.204605005658209, 0.32860008733551, 0.32860008733551, 0.504748197638673, 0.504748197638673, 0.0398546163039329, 0.039854616303933, -0.269613788250837, -0.269613788250837, -0.312096598983548, -0.312096598983548, 0.0190548270250438, 0.0190548270250438, 0.270521530002251, 0.270521530002251), .Dim = c(12L, 3L)), structure(c(-2.82631170793264, -2.82631170793264, -3.89457420977924, -3.89457420977924, -3.62818861156626, -3.62818861156626, -2.72530862462141, -2.72530862462141, -1.437640468988, -1.437640468988, -0.811701520293695, -0.811701520293695, 14291.543903102, 14291.543903102, 13346.8386233407, 13346.8386233407, 8863.44390274002, 8863.44390274002, 4080.15117667984, 4080.15117667984, 979.818149952962, 979.818149952962, 296.593928028368, 296.593928028368), .Dim = c(12L, 2L), .Dimnames = list(NULL, c('Vm', 'K')))); .Internal(crossprod(argv[[1]], argv[[2]]))");
     }
 
@@ -68,7 +71,8 @@ public class TestBuiltin_crossprod extends TestBase {
         assertEval("{ crossprod(c(1,NA,2), matrix(1:6, ncol=2)) }");
         assertEval("{ x <- matrix(c(NaN,2,3,4,5,NA), nrow=3); crossprod(x) }");
 
-        assertEval(Ignored.Unknown, "{ x <- matrix(c(NaN,2+3i,3,4+1i,5,NA), nrow=3); crossprod(x) }");
+        // FIXME Number at [2][2] position of resulting matrix differs
+        assertEval(Ignored.ImplementationError, "{ x <- matrix(c(NaN,2+3i,3,4+1i,5,NA), nrow=3); crossprod(x) }");
 
         assertEval(Output.ImprovedErrorContext, "{ crossprod('asdf', matrix(1:6, ncol=2)) }");
     }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_cumsum.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_cumsum.java
index 92b68c48857b5db42a25b7fb000acdfd0226a46b..cee940d99ed89219bd8ec43a0c114b25be6d8ad6 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_cumsum.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_cumsum.java
@@ -111,9 +111,9 @@ public class TestBuiltin_cumsum extends TestBase {
         assertEval("{ cumsum(rep(1e308, 3) ) }");
         assertEval("{ cumsum(c(1e308, 1e308, NA, 1, 2)) }");
         // FIXME missing warning
-        assertEval(Ignored.Unknown, "{ cumsum(c(2000000000L, 2000000000L)) }");
+        assertEval(Output.MissingWarning, "{ cumsum(c(2000000000L, 2000000000L)) }");
         // FIXME missing warning
-        assertEval(Ignored.Unknown, "{ cumsum(c(-2147483647L, -1L)) }");
+        assertEval(Output.MissingWarning, "{ cumsum(c(-2147483647L, -1L)) }");
 
         assertEval("values <- c(1,2,NaN,1, NA); cumsum(values); cumsum(as.integer(values))");
         assertEval("values <- c(1,2,NA,1, NaN); cumsum(values); cumsum(as.integer(values))");
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_date.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_date.java
index 2e5cb8a4f5ee9ee58a0e107abeac83898e2f0025..8698b629ba7f7cf19dce2c02b2997d2a287d6ec5 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_date.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_date.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2012-2014, Purdue University
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2013, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -20,6 +20,7 @@ public class TestBuiltin_date extends TestBase {
     @Test
     public void testDate() {
         // Date at real time differs by milliseconds.
-        assertEval(Ignored.Unknown, "{date()}");
+        // Here the output would always differ since the GnuR test outputs are pre-generated
+        assertEval(Ignored.OutputFormatting, "{date()}");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_dfltWarn.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_dfltWarn.java
index d21234fe96471e13a6cebad04372079b44f6e35b..06811da2dda85e08e973df3686131cd1116be013 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_dfltWarn.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_dfltWarn.java
@@ -70,8 +70,7 @@ public class TestBuiltin_dfltWarn extends TestBase {
 
     @Test
     public void testdfltWarn11() {
-        assertEval(Ignored.Unknown,
-                        "argv <- list('Invalid file name(s) for R code in ./myTst/R:\\n  file55711ba85492\\n are now renamed to z<name>.R', quote(package.skeleton('myTst', code_files = tmp))); .Internal(.dfltWarn(argv[[1]], argv[[2]]))");
+        assertEval("argv <- list('Invalid file name(s) for R code in ./myTst/R:\\n  file55711ba85492\\n are now renamed to z<name>.R', quote(package.skeleton('myTst', code_files = tmp))); .Internal(.dfltWarn(argv[[1]], argv[[2]]))");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_dimassign.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_dimassign.java
index 539ebde4556625483a39e3ecf70c3350fc65e12c..f453a15ed638cf8f3d02e0664ea6a76095c0767f 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_dimassign.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_dimassign.java
@@ -54,7 +54,8 @@ public class TestBuiltin_dimassign extends TestBase {
 
     @Test
     public void testdimassign8() {
-        assertEval(Ignored.Unknown, "argv <- list(NULL, NULL);`dim<-`(argv[[1]],argv[[2]]);");
+        // FIXME Missing specialization in UpdateDimNode
+        assertEval(Ignored.Unimplemented, "argv <- list(NULL, NULL);`dim<-`(argv[[1]],argv[[2]]);");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_dir.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_dir.java
index 1d1d017705733c674caf5a7edebaaf2bd897f10b..ae7e5d9c4f8d6c185e88c9d1e4ae948a9bffa03b 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_dir.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_dir.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -20,6 +20,6 @@ public class TestBuiltin_dir extends TestBase {
 
     @Test
     public void testdir1() {
-        assertEval(Ignored.Unknown, "argv <- structure(list(path = '.', pattern = 'myTst_.*tar\\.gz$'),     .Names = c('path', 'pattern'));do.call('dir', argv)");
+        assertEval(Ignored.Unknown, "argv <- structure(list(path = '.', pattern = 'myTst_.*tar[.]gz$'),     .Names = c('path', 'pattern'));do.call('dir', argv)");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_findInterval.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_findInterval.java
index 93109d139f3d63a80b4bd7a9810cdedc7b85d0a8..e726596d445fe8d08f199571f6cafc1c5f766b56 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_findInterval.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_findInterval.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -19,23 +19,27 @@ public class TestBuiltin_findInterval extends TestBase {
 
     @Test
     public void testfindInterval1() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal findInterval
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(c(1, 2, 3, 4, 5, 6, 7, 8, 9), c(3, 3.25, 3.5, 3.75, 4, 4.25, 4.5, 4.75, 5, 5.25, 5.5, 5.75, 6), FALSE, FALSE); .Internal(findInterval(argv[[1]], argv[[2]], argv[[3]], argv[[4]]))");
     }
 
     @Test
     public void testfindInterval2() {
-        assertEval(Ignored.Unknown, "argv <- list(NA_real_, NA_real_, FALSE, FALSE); .Internal(findInterval(argv[[1]], argv[[2]], argv[[3]], argv[[4]]))");
+        // FIXME RInternalError: not implemented: .Internal findInterval
+        assertEval(Ignored.Unimplemented, "argv <- list(NA_real_, NA_real_, FALSE, FALSE); .Internal(findInterval(argv[[1]], argv[[2]], argv[[3]], argv[[4]]))");
     }
 
     @Test
     public void testfindInterval3() {
-        assertEval(Ignored.Unknown, "argv <- list(numeric(0), numeric(0), FALSE, FALSE); .Internal(findInterval(argv[[1]], argv[[2]], argv[[3]], argv[[4]]))");
+        // FIXME RInternalError: not implemented: .Internal findInterval
+        assertEval(Ignored.Unimplemented, "argv <- list(numeric(0), numeric(0), FALSE, FALSE); .Internal(findInterval(argv[[1]], argv[[2]], argv[[3]], argv[[4]]))");
     }
 
     @Test
     public void testfindInterval4() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal findInterval
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(c(5, 10, 15), c(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18), FALSE, FALSE); .Internal(findInterval(argv[[1]], argv[[2]], argv[[3]], argv[[4]]))");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_formatC.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_formatC.java
index b1f03422323a890898866bd9ffc934c2d517c674..23276863358730e81aaf2c0afdfbdc7958683694 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_formatC.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_formatC.java
@@ -19,24 +19,28 @@ public class TestBuiltin_formatC extends TestBase {
 
     @Test
     public void testformatC1() {
-        assertEval(Ignored.Unknown,
+        // FIXME FastR: the third arg "1" is output into 6 characters instead of 10
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(c(3.14159265358979, 3.1415926535898, 1), 'double', 10, 4L, 'g', '', c(12L, 12L, 12L)); .Internal(formatC(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))");
     }
 
     @Test
     public void testformatC2() {
-        assertEval(Ignored.Unknown, "argv <- list(1, 'double', 8, 5, 'g', '-', 13); .Internal(formatC(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))");
+        // FIXME FastR: "1" is output like "1.0000" IMHO mode='g' should output just "1"
+        assertEval(Ignored.ImplementationError, "argv <- list(1, 'double', 8, 5, 'g', '-', 13); .Internal(formatC(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))");
     }
 
     @Test
     public void testformatC3() {
-        assertEval(Ignored.Unknown,
+        // FIXME Similar problem to testformatC1
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(c(1.5, 13.3414265412268, 1e-15, 8, 1, 500, 28), .Dim = c(7L, 1L), .Dimnames = list(c('m.ship.expon.', 'objective', 'tolerance', 'iterations', 'converged', 'maxit', 'n'), ' ')), 'double', 8L, 7L, 'g', '', c(15L, 15L, 15L, 15L, 15L, 15L, 15L)); .Internal(formatC(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))");
     }
 
     @Test
     public void testformatC4() {
-        assertEval(Ignored.Unknown,
+        // FIXME Similar problem to testformatC2
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(c(1000, 1e+07, 1), 'double', 5, 4L, 'g', '', c(12L, 12L, 12L)); .Internal(formatC(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))");
     }
 
@@ -62,7 +66,8 @@ public class TestBuiltin_formatC extends TestBase {
 
     @Test
     public void testformatC9() {
-        assertEval(Ignored.Unknown,
+        // FIXME java.util.FormatFlagsConversionMismatchException: Conversion = g, Flags = #
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(c(0.0599, 0.00599, 0.000599, 5.99e-05, 5.99e-06, 5.99e-07), 'double', 3, -2, 'fg', '#', c(10, 11, 12, 13, 14, 15)); .Internal(formatC(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))");
     }
 
@@ -88,7 +93,8 @@ public class TestBuiltin_formatC extends TestBase {
 
     @Test
     public void testformatC14() {
-        assertEval(Ignored.Unknown,
+        // GnuR does not round up xyz.5 to xyz+1 although it does e.g. xyz.75 to xyz+1
+        assertEval(Ignored.ReferenceError,
                         "argv <- list(structure(c(1962.25, 1962.5, 1962.75, 1963, 1963.25, 1963.5, 1963.75, 1964, 1964.25, 1964.5, 1964.75, 1965, 1965.25, 1965.5, 1965.75, 1966, 1966.25, 1966.5, 1966.75, 1967, 1967.25, 1967.5, 1967.75, 1968, 1968.25, 1968.5, 1968.75, 1969, 1969.25, 1969.5, 1969.75, 1970, 1970.25, 1970.5, 1970.75, 1971, 1971.25, 1971.5, 1971.75), .Tsp = c(1962.25, 1971.75, 4), class = 'ts'), 'double', 1, 4L, 'g', '', c(12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L, 12L)); .Internal(formatC(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_gamma.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_gamma.java
index f8d55fed542c996a76280563d055c25c01ef4a16..5f024ba694c048f9f3866a5866703e92d255ba73 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_gamma.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_gamma.java
@@ -29,7 +29,8 @@ public class TestBuiltin_gamma extends TestBase {
 
     @Test
     public void testgamma3() {
-        assertEval(Ignored.Unknown, "argv <- list(structure(numeric(0), .Dim = c(0L, 0L)));gamma(argv[[1]]);");
+        // FIXME RInternalError: not implemented: .Internal beta
+        assertEval(Ignored.Unimplemented, "argv <- list(structure(numeric(0), .Dim = c(0L, 0L)));gamma(argv[[1]]);");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_gcinfo.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_gcinfo.java
index 503a3c359ae78ef28b9fb91a4317a116e6e36458..77f17bb5b748ed07554022fa3aa348facb7fae6e 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_gcinfo.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_gcinfo.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -19,11 +19,13 @@ public class TestBuiltin_gcinfo extends TestBase {
 
     @Test
     public void testgcinfo1() {
-        assertEval(Ignored.Unknown, "argv <- list(list()); .Internal(gcinfo(argv[[1]]))");
+        // FIXME com.oracle.truffle.r.runtime.RInternalError: not implemented: .Internal gcinfo
+        assertEval(Ignored.Unimplemented, "argv <- list(list()); .Internal(gcinfo(argv[[1]]))");
     }
 
     @Test
     public void testgcinfo2() {
-        assertEval(Ignored.Unknown, "argv <- list(FALSE); .Internal(gcinfo(argv[[1]]))");
+        // FIXME com.oracle.truffle.r.runtime.RInternalError: not implemented: .Internal gcinfo
+        assertEval(Ignored.Unimplemented, "argv <- list(FALSE); .Internal(gcinfo(argv[[1]]))");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_growconst.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_growconst.java
index 3534db888148517597d6ef153248400e30199c88..f2fae494fcdb53f6727283abf79547d00d35dfbe 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_growconst.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_growconst.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -19,6 +19,7 @@ public class TestBuiltin_growconst extends TestBase {
 
     @Test
     public void testgrowconst1() {
-        assertEval(Ignored.Unknown, "argv <- list(list(list())); .Internal(growconst(argv[[1]]))");
+        // FIXME RInternalError: not implemented: .Internal growconst
+        assertEval(Ignored.Unimplemented, "argv <- list(list(list())); .Internal(growconst(argv[[1]]))");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_iconv.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_iconv.java
index c05827b501e3e65d7d967e785de15f6affd22345..91ccd99c4a2cc3e073874a733e50c99b7db8f5fe 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_iconv.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_iconv.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -24,7 +24,10 @@ public class TestBuiltin_iconv extends TestBase {
 
     @Test
     public void testiconv2() {
-        assertEval(Ignored.Unknown, "argv <- list('façile'   , 'latin1', 'ASCII', NA_character_, TRUE, FALSE); .Internal(iconv(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))");
+        // FIXME ç is not an ASCII char (although it's an extended ASCII char wit code==135)
+        // and NA_character_ replacement leads to whole output to become NA
+        assertEval(Ignored.ImplementationError,
+                        "argv <- list('façile'   , 'latin1', 'ASCII', NA_character_, TRUE, FALSE); .Internal(iconv(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))");
     }
 
     @Test
@@ -44,23 +47,32 @@ public class TestBuiltin_iconv extends TestBase {
 
     @Test
     public void testiconv6() {
-        assertEval(Ignored.Unknown, "argv <- list(list(), 'latin1', 'ASCII', NA_character_, TRUE, FALSE); .Internal(iconv(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))");
+        // FIXME According to GnuR docs x parm can be a list with NULLs or raws
+        // btw current impl of IConv does not honor 'sub', 'mark' and 'toRaw' params at all
+        assertEval(Ignored.ImplementationError,
+                        "argv <- list(list(), 'latin1', 'ASCII', NA_character_, TRUE, FALSE); .Internal(iconv(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))");
     }
 
     @Test
     public void testiconv7() {
-        assertEval(Ignored.Unknown, "argv <- list('façile'   , 'latin1', 'ASCII', '', TRUE, FALSE); .Internal(iconv(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))");
+        // FIXME ç is not an ASCII char (although it's an extended ASCII char wit code==135)
+        // so GnuR elimination of ç character is correct.
+        assertEval(Ignored.ImplementationError, "argv <- list('façile'   , 'latin1', 'ASCII', '', TRUE, FALSE); .Internal(iconv(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))");
     }
 
     @Test
     public void testiconv8() {
-        assertEval(Ignored.Unknown,
+        // FIXME FastR does not carry extra Rd_tag attr in its output
+        // which is required according to iconv() GnuR docs.
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure('Prediction matrix for soap film smooth', Rd_tag = 'TEXT'), 'UTF-8', 'ASCII', NA_character_, FALSE, FALSE); .Internal(iconv(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))");
     }
 
     @Test
     public void testiconv9() {
-        assertEval(Ignored.Unknown,
+        // FIXME FastR does not carry extra .Names attr in its output
+        // which is required according to iconv() GnuR docs.
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(c('Q.1 Opinion of presidents job performance', 'Q.1 Opinion of presidents job performance', 'Q.1 Opinion of presidents job performance', 'Q.1 Opinion of presidents job performance', 'Q.1 Opinion of presidents job performance', 'Q.1 Opinion of presidents job performance', 'Q.1 Opinion of presidents job performance', 'Q.1 Opinion of presidents job performance', 'Q.1 Opinion of presidents job performance', 'Q.1 Opinion of presidents job performance'), .Names = c('Q1_MISSING_NONE', 'Q1_MISSING_1', 'Q1_MISSING_2', 'Q1_MISSING_3', 'Q1_MISSING_RANGE', 'Q1_MISSING_LOW', 'Q1_MISSING_HIGH', 'Q1_MISSING_RANGE_1', 'Q1_MISSING_LOW_1', 'Q1_MISSING_HIGH_1')), 'latin1', '', NA_character_, TRUE, FALSE); .Internal(iconv(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))");
     }
 
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_isnumeric.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_isnumeric.java
index f98cfa3f2f0be840bd88b52f5c708ed6e3b06f1d..d7ee33c14408e64ce9000fb56f46c0b1c4be32b3 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_isnumeric.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_isnumeric.java
@@ -24,7 +24,8 @@ public class TestBuiltin_isnumeric extends TestBase {
 
     @Test
     public void testisnumeric2() {
-        assertEval(Ignored.Unknown,
+        // FIXME according to ?is.numeric the 'Date' class should return FALSE from is.numeric()
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(c(12784, 12874, 12965, 13057, 13149, 13239, 13330, 13422, 13514, 13604, 13695, 13787, 13879, 13970, 14061, 14153, 14245, 14335), class = 'Date'));is.numeric(argv[[1]]);");
     }
 
@@ -85,7 +86,9 @@ public class TestBuiltin_isnumeric extends TestBase {
 
     @Test
     public void testisnumeric14() {
-        assertEval(Ignored.Unknown,
+        // FIXME according to ?is.numeric the 'POSIXt' class should return FALSE from is.numeric()
+        assertEval(Ignored.ImplementationError, "is.numeric(structure(1L, class = c('POSIXct', 'POSIXt')))");
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(c(1386439154.20645, 1386469154.20645, 1386499154.20645, 1386529154.20645, 1386559154.20645, 1386589154.20645, 1386619154.20645, 1386649154.20645, 1386679154.20645, 1386709154.20645, 1386739154.20645, 1386769154.20645, 1386799154.20645, 1386829154.20645, 1386859154.20645, 1386889154.20645, 1386919154.20645, 1386949154.20645, 1386979154.20645, 1387009154.20645, 1387039154.20645, 1387069154.20645, 1387099154.20645, 1387129154.20645, 1387159154.20645, 1387189154.20645, 1387219154.20645, 1387249154.20645, 1387279154.20645, 1387309154.20645, 1387339154.20645, 1387369154.20645, 1387399154.20645, 1387429154.20645), class = c('POSIXct', 'POSIXt')));is.numeric(argv[[1]]);");
     }
 
@@ -121,7 +124,8 @@ public class TestBuiltin_isnumeric extends TestBase {
 
     @Test
     public void testisnumeric21() {
-        assertEval(Ignored.Unknown, "argv <- list(structure(16146, class = 'Date'));is.numeric(argv[[1]]);");
+        // FIXME according to ?is.numeric the 'Date' class should return FALSE from is.numeric()
+        assertEval(Ignored.ImplementationError, "argv <- list(structure(16146, class = 'Date'));is.numeric(argv[[1]]);");
     }
 
     @Test
@@ -131,6 +135,7 @@ public class TestBuiltin_isnumeric extends TestBase {
 
     @Test
     public void testisnumeric24() {
-        assertEval(Ignored.Unknown, "argv <- list(structure(16352, class = 'Date'));do.call('is.numeric', argv)");
+        // FIXME according to ?is.numeric the 'Date' class should return FALSE from is.numeric()
+        assertEval(Ignored.ImplementationError, "argv <- list(structure(16352, class = 'Date'));do.call('is.numeric', argv)");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_isunsorted.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_isunsorted.java
index 52fa1f06fbfdd44d2eb020184990b3c84df312bc..95d36ad6f5239aad82716b0fda7f7cb4130bfb62 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_isunsorted.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_isunsorted.java
@@ -49,7 +49,11 @@ public class TestBuiltin_isunsorted extends TestBase {
 
     @Test
     public void testisunsorted7() {
-        assertEval(Ignored.Unknown,
+        // FIXME we should fix it since ?is.unsorted says: "All objects of length 0 or 1 are
+        // sorted."
+        // Expected output: [1] FALSE
+        // FastR output: [1] NA
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(list(c0 = structure(integer(0), .Label = character(0), class = 'factor')), .Names = 'c0', row.names = character(0), class = structure('integer(0)', .Names = 'c0')), FALSE); .Internal(is.unsorted(argv[[1]], argv[[2]]))");
     }
 
@@ -82,8 +86,15 @@ public class TestBuiltin_isunsorted extends TestBase {
 
     @Test
     public void testisunsorted14() {
-        assertEval(Ignored.Unknown, "argv <- structure(list(x = structure(list(x = 3:4, y = 1:2),     .Names = c('x', 'y'), row.names = c(NA, -2L), class = 'data.frame')),     .Names = 'x');" +
-                        "do.call('is.unsorted', argv)");
+        // FIXME decide whether we want to fix this since the ?is.unsorted says:
+        // "This function is designed for objects with one-dimensional
+        // indices, as described above. Data frames, matrices and other
+        // arrays may give surprising results."
+        // Expected output: [1] TRUE
+        // FastR output: [1] NA
+        assertEval(Ignored.ImplementationError,
+                        "argv <- structure(list(x = structure(list(x = 3:4, y = 1:2),     .Names = c('x', 'y'), row.names = c(NA, -2L), class = 'data.frame')),     .Names = 'x');" +
+                                        "do.call('is.unsorted', argv)");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_lbeta.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_lbeta.java
index cca7f0f64e88ebe2c4ff4c3a6ac0242484c8ccb3..6248c5a82e07931f8a49e858d6dbf29ed4e4ef5e 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_lbeta.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_lbeta.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -19,6 +19,6 @@ public class TestBuiltin_lbeta extends TestBase {
 
     @Test
     public void testlbeta1() {
-        assertEval(Ignored.Unknown, "argv <- list(FALSE, FALSE); .Internal(lbeta(argv[[1]], argv[[2]]))");
+        assertEval(Ignored.Unimplemented, "argv <- list(FALSE, FALSE); .Internal(lbeta(argv[[1]], argv[[2]]))");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_lgamma.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_lgamma.java
index 144683f6528eb0416e073f015e903d5cb76727fa..72dcf3d5baaa6c8556895dcccbc5151a8d4e6296 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_lgamma.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_lgamma.java
@@ -19,12 +19,14 @@ public class TestBuiltin_lgamma extends TestBase {
 
     @Test
     public void testlgamma1() {
-        assertEval(Ignored.Unknown, "argv <- list(structure(c(2, 1, 1, 1, 3, 1, 1, 1, 4), .Dim = c(3L, 3L)));lgamma(argv[[1]]);");
+        // FastR: all numbers on a single line and last number has one extra digit
+        assertEval(Ignored.OutputFormatting, "argv <- list(structure(c(2, 1, 1, 1, 3, 1, 1, 1, 4), .Dim = c(3L, 3L)));lgamma(argv[[1]]);");
     }
 
     @Test
     public void testlgamma2() {
-        assertEval(Ignored.Unknown,
+        // FastR: both incorrect output numbers and missing column/row headers
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(c(2, 3, 2, 1, 4, 4, 7, 2, 11, 11, 15, 10, 7, 8, 13, 12), .Dim = c(4L, 4L), .Dimnames = structure(list(income = c('< 15k', '15-25k', '25-40k', '> 40k'), satisfaction = c('VeryD', 'LittleD', 'ModerateS', 'VeryS')), .Names = c('income', 'satisfaction'))));lgamma(argv[[1]]);");
     }
 
@@ -50,6 +52,7 @@ public class TestBuiltin_lgamma extends TestBase {
 
     @Test
     public void testlgamma7() {
+        // FastR: missing column headers 1 till 42
         assertEval(Ignored.Unknown,
                         "argv <- list(structure(c(11.4065045686104, 9.40650456861037, 8.40650456861037, 11.4065045686104, 9.40650456861037, 6.40650456861036, 15.4065045686104, 9.40650456861037, 9.40650456861037, 8.40650456861037, 6.40650456861036, 7.40650456861036, 8.40650456861037, 7.40650456861036, 9.40650456861037, 13.4065045686104, 10.4065045686104, 11.4065045686104, 14.4065045686104, 10.4065045686104, 16.4065045686104, 10.4065045686104, 7.40650456861036, 9.40650456861037, 7.40650456861036, 13.4065045686104, 17.4065045686104, 4.40650456861036, 10.4065045686104, 5.40650456861036, 6.40650456861036, 4.40650456861036, 5.40650456861036, 4.40650456861036, 4.40650456861036, 8.40650456861037, 9.40650456861037, 5.40650456861036, 9.40650456861037, 7.40650456861036, 7.40650456861036, 8.40650456861037), .Names = c('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42')));lgamma(argv[[1]]);");
     }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_lm.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_lm.java
index 1761b0e1166ffd9fb0fc823ec25a9a9daba7c57b..231f5200d27e063cecd6fd93e522f08cbf02c920 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_lm.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_lm.java
@@ -71,7 +71,8 @@ public class TestBuiltin_lm extends TestBase {
 
     @Test
     public void test() {
-        assertEval(Ignored.Unknown,
+        // FIXME test causes StackOverflow
+        assertEval(Ignored.ImplementationError,
                         "require(stats); lm(data = structure(list(y = c(43, 63, 71, 61, 81, 43, 58, 71, 72, 67, 64, 67, 69, 68, 77, 81, 74, 65, 65, 50, 50, 64, 53, 40, 63, 66, 82), x1 = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), x2 = c(51, 64, 70, 63, 78, 55, 67, 75, 82, 61, 53, 60, 62, 83, 77, 90, 85, 60, 70, 58, 40, 61, 66, 37, 54, 77, 82), x3 = c(30, 51, 68, 45, 56, 49, 42, 50, 72, 45, 53, 47, 57, 83, 54, 50, 64, 65, 46, 68, 33, 52, 52, 42, 42, 66, 39), x4 = c(47, 45, 48, 39, 57, 69, 66, 50, 59, 45, 72, 50, 59, 44, 75, 39, 45, 62, 47, 74, 75, 67, 47, 58, 54, 66, 62), x5 = c(61, 63, 76, 54, 71, 54, 66, 70, 71, 62, 58, 59, 55, 59, 79, 60, 79, 55, 75, 64, 43, 66, 63, 50, 66, 88, 64), x6 = c(92, 73, 86, 84, 83, 49, 68, 66, 83, 80, 67, 74, 63, 77, 77, 54, 79, 80, 85, 78, 64, 80, 80, 57, 75, 76, 78), x7 = c(45, 47, 48, 35, 47, 34, 35, 41, 31, 41, 34, 41, 25, 35, 46, 36, 63, 60, 46, 52, 33, 41, 37, 49, 33, 72, 39)), .Names = c('y', 'x1', 'x2', 'x3', 'x4', 'x5', 'x6', 'x7'), row.names = c('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '30'), class = 'data.frame'), formula = y ~ . + 0)");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_matrix.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_matrix.java
index e6957f67d0fc32a920ca0c1b248a1e05cde65ba9..5881b9f0dd95043991b81132e365d08853df5f4f 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_matrix.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_matrix.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -79,7 +79,16 @@ public class TestBuiltin_matrix extends TestBase {
 
     @Test
     public void testmatrix13() {
-        assertEval(Ignored.Unknown, "argv <- list(c(0, 0, 0, 0), 4L, 0L, FALSE, NULL, FALSE, FALSE); .Internal(matrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))");
+        assertEval("matrix(1:4, 2, 1)");
+        // Missing warning in FastR; GnuR ouptputs:
+        // Warning message:
+        // In matrix(1:4, 4, 0) : data length exceeds size of matrix
+        // IMHO more a ReferenceError since e.g. "matrix(1:4, 2, 1)" gives no warning about extra
+        // two elements
+        // but for 0 columns the warning is given by GnuR
+        assertEval(Output.MissingWarning, "matrix(1:4, 4, 0)");
+        assertEval(Output.MissingWarning,
+                        "argv <- list(c(0, 0, 0, 0), 4L, 0L, FALSE, NULL, FALSE, FALSE); .Internal(matrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))");
     }
 
     @Test
@@ -194,13 +203,15 @@ public class TestBuiltin_matrix extends TestBase {
 
     @Test
     public void testmatrix36() {
-        assertEval(Ignored.Unknown,
-                        "argv <- list(c(0, 0, 0, 0, 0, 0, 4.94065645841247e-324, 0, 0, 0, 0, 0), structure(12L, .Names = '1'), 1L, FALSE, NULL, FALSE, FALSE); .Internal(matrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))");
+        assertEval("argv <- list(c(0, 0, 0, 0, 0, 0, 4.94065645841247e-324, 0, 0, 0, 0, 0), structure(12L, .Names = '1'), 1L, FALSE, NULL, FALSE, FALSE); .Internal(matrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))");
     }
 
     @Test
     public void testmatrix37() {
-        assertEval(Ignored.Unknown, "argv <- list(1:7, 3, 4, FALSE, NULL, FALSE, FALSE); .Internal(matrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))");
+        // FIXME Missing warning in FastR:
+        // Warning message:
+        // data length [7] is not a sub-multiple or multiple of the number of rows [3]
+        assertEval(Output.MissingWarning, "argv <- list(1:7, 3, 4, FALSE, NULL, FALSE, FALSE); .Internal(matrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))");
     }
 
     @Test
@@ -210,7 +221,9 @@ public class TestBuiltin_matrix extends TestBase {
 
     @Test
     public void testmatrix39() {
-        assertEval(Ignored.Unknown,
+        // Warning message:
+        // data length [44] is not a sub-multiple or multiple of the number of columns [5]
+        assertEval(Output.MissingWarning,
                         "argv <- list(c(-1, 4, 4, 9, 5, 1, 4, 8, 8, 2, 6, 0, 2, 3, 8, 8, 4, 4, 2, 3, 4, 0, -1, 7, 2, 4, 2, 3, 5, 6, 6, 5, 4, 3, 7, -1, 3, 1, -1, 2, 32, 1, 4, 4), 2L, 5L, FALSE, NULL, FALSE, FALSE); .Internal(matrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))");
     }
 
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_memDecompress.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_memDecompress.java
index 677277945c9dbed0eb402ae1b634d3065a297d77..7222ae1a2c3d60fb29d82ea6dfcacc9361f9aade 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_memDecompress.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_memDecompress.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -20,7 +20,9 @@ public class TestBuiltin_memDecompress extends TestBase {
 
     @Test
     public void testmemDecompress1() {
-        assertEval(Ignored.Unknown,
+        // FIXME
+        // com.oracle.truffle.r.runtime.RInternalError: not implemented: .Internal memDecompress
+        assertEval(Ignored.Unimplemented,
                         "argv <- structure(list(from = as.raw(c(253, 55, 122, 88, 90,     0, 0, 1, 105, 34, 222, 54, 2, 0, 33, 1, 28, 0, 0, 0, 16,     207, 88, 204, 224, 7, 207, 0, 28, 93, 0, 24, 140, 130, 182,     196, 17, 52, 92, 78, 225, 221, 115, 179, 63, 98, 20, 119,     183, 90, 101, 43, 5, 112, 179, 75, 69, 222, 0, 0, 155, 136,     185, 16, 0, 1, 52, 208, 15, 0, 0, 0, 105, 254, 40, 141, 62,     48, 13, 139, 2, 0, 0, 0, 0, 1, 89, 90)), type = 'xz', asChar = TRUE),     .Names = c('from', 'type', 'asChar'));" +
                                         "do.call('memDecompress', argv)");
     }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_min.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_min.java
index c8c5ab5a200d2b5772ecd340b6527f238a8f9a47..442c0c3a6cba894475d95ca9f1dcf50a9103ba87 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_min.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_min.java
@@ -173,11 +173,17 @@ public class TestBuiltin_min extends TestBase {
         assertEval("{ min(\"42\", as.character(NA), \"7\", na.rm=TRUE) }");
         assertEval("{ min(\"42\", as.character(NA), \"7\", na.rm=FALSE) }");
 
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext, "{ min(integer(0)) }");
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext, "{ min(integer()) }");
+        // FIXME
+        // Expected output: [1] Inf
+        // FastR output: [1] 2147483647
+        assertEval(Ignored.ImplementationError, Output.IgnoreWarningContext, "{ min(integer(0)) }");
+        assertEval(Ignored.ImplementationError, Output.IgnoreWarningContext, "{ min(integer()) }");
         assertEval("{ min(as.double(NA), na.rm=TRUE) }");
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext, "{ min(as.integer(NA), na.rm=TRUE) }");
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext, "{ min(as.integer(NA), as.integer(NA), na.rm=TRUE) }");
+        // FIXME
+        // Expected output: [1] Inf
+        // FastR output: [1] 2147483647
+        assertEval(Ignored.ImplementationError, Output.IgnoreWarningContext, "{ min(as.integer(NA), na.rm=TRUE) }");
+        assertEval(Ignored.ImplementationError, Output.IgnoreWarningContext, "{ min(as.integer(NA), as.integer(NA), na.rm=TRUE) }");
 
         assertEval("min(c(1,NA,2), na.rm=NA)");
     }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_oldClassassign.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_oldClassassign.java
index 7a21c2b7611f4c51db69de545cc9e559fada054b..a971a63a5d66142a2a4ade582716af32d1750dce 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_oldClassassign.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_oldClassassign.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2012-2014, Purdue University
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2013, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -23,7 +23,9 @@ public class TestBuiltin_oldClassassign extends TestBase {
 
     @Test
     public void testoldClassassign2() {
-        assertEval(Ignored.Unknown, "argv <- list(NULL, NULL);`oldClass<-`(argv[[1]],argv[[2]]);");
+        // FIXME UnsupportedSpecializationException: Unexpected values provided for oldClass<-: [],
+        // []
+        assertEval(Ignored.ImplementationError, "argv <- list(NULL, NULL);`oldClass<-`(argv[[1]],argv[[2]]);");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_options.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_options.java
index 894d7da3d6b0504510621d341e513a8b62e3abbb..56452811e63d7ed88fd07b0df14c9ee90b3d83bb 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_options.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_options.java
@@ -39,7 +39,15 @@ public class TestBuiltin_options extends TestBase {
 
     @Test
     public void testoptions5() {
-        assertEval(Ignored.Unknown, "argv <- list(NULL); .Internal(options(argv[[1]]))");
+        // FIXME RInternalError: should not reach here
+        assertEval(Ignored.Unimplemented, "options(list(NULL));");
+        assertEval("options(NA);");
+        // IMHO ReferenceError since NULL makes little sense as parameter value
+        // here just like NA which outputs 'invalid argument' both in GnuR and FastR.
+        // Expected output:
+        // FastR output: Error in options(NULL) : invalid argument
+        assertEval(Ignored.ReferenceError, "options(NULL);");
+        assertEval(Ignored.ReferenceError, "argv <- list(NULL); .Internal(options(argv[[1]]))");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_parse.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_parse.java
index 62df5804911e76c34d4d27ceab29b143a06716da..dad626ba6f9aca1290a105575883e2420cd2fcea 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_parse.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_parse.java
@@ -20,12 +20,16 @@ public class TestBuiltin_parse extends TestBase {
 
     @Test
     public void testSource() {
-        assertEval(Ignored.Unknown, "{ source(\"test/r/simple/data/tree2/setx.r\") ; x }");
-        assertEval(Ignored.Unknown, "{ source(\"test/r/simple/data/tree2/setx.r\", local=TRUE) ; x }");
-        assertEval(Ignored.Unknown, "{ x <- 1; f <- function() { source(\"test/r/simple/data/tree2/setx.r\", local=TRUE) ; x } ; c(f(), x) }");
-        assertEval(Ignored.Unknown, "{ x <- 1; f <- function() { source(\"test/r/simple/data/tree2/setx.r\", local=FALSE) ; x } ; c(f(), x) }");
-        assertEval(Ignored.Unknown, "{ x <- 1; f <- function() { source(\"test/r/simple/data/tree2/incx.r\", local=FALSE) ; x } ; c(f(), x) }");
-        assertEval(Ignored.Unknown, "{ x <- 1; f <- function() { source(\"test/r/simple/data/tree2/incx.r\", local=TRUE) ; x } ; c(f(), x) }");
+        // FIXME
+        // FastR repeats file name twice in the warning in this way:
+        // cannot open file 'test/r/simple/data/tree2/setx.r': test/r/simple/data/tree2/setx.r (No
+        // such file or directory)
+        assertEval(Output.IgnoreWarningMessage, "{ source(\"test/r/simple/data/tree2/setx.r\") ; x }");
+        assertEval(Output.IgnoreWarningMessage, "{ source(\"test/r/simple/data/tree2/setx.r\", local=TRUE) ; x }");
+        assertEval(Output.IgnoreWarningMessage, "{ x <- 1; f <- function() { source(\"test/r/simple/data/tree2/setx.r\", local=TRUE) ; x } ; c(f(), x) }");
+        assertEval(Output.IgnoreWarningMessage, "{ x <- 1; f <- function() { source(\"test/r/simple/data/tree2/setx.r\", local=FALSE) ; x } ; c(f(), x) }");
+        assertEval(Output.IgnoreWarningMessage, "{ x <- 1; f <- function() { source(\"test/r/simple/data/tree2/incx.r\", local=FALSE) ; x } ; c(f(), x) }");
+        assertEval(Output.IgnoreWarningMessage, "{ x <- 1; f <- function() { source(\"test/r/simple/data/tree2/incx.r\", local=TRUE) ; x } ; c(f(), x) }");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_paste0.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_paste0.java
index 7dd6948249a78347641496703f081c03aff43b0a..85f5157879cc2ed0ae5d067ad6148f2a4c5157a3 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_paste0.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_paste0.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -59,7 +59,10 @@ public class TestBuiltin_paste0 extends TestBase {
 
     @Test
     public void testpaste011() {
-        assertEval(Ignored.Unknown, "argv <- list(list(character(0), character(0), character(0)), NULL); .Internal(paste0(argv[[1]], argv[[2]]))");
+        // FIXME:
+        // FastR output: '[1] ""'
+        // GnuR output: 'character(0)'
+        assertEval(Ignored.ImplementationError, "argv <- list(list(character(0), character(0), character(0)), NULL); .Internal(paste0(argv[[1]], argv[[2]]))");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_prmatrix.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_prmatrix.java
index 370345c6a5e352d25cf0dba105ae49a7ee987c40..f48635af59c462e9a0643b712eef8f9edc2ee273 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_prmatrix.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_prmatrix.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -19,49 +19,57 @@ public class TestBuiltin_prmatrix extends TestBase {
 
     @Test
     public void testprmatrix1() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal prmatrix
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(structure(c(1, 6, 9, 6, 4, 1, 1, 2, 1, 0.305397625390859, 0.00170825768891124, 8.51556634078892e-12, 0.64987756971621, 0.0197968749793939, 5.28672163823767e-10, 0.00471555351643001, 2.33367394341443e-13, 1.21630438148624e-64, 1, 1, 1), .Dim = c(3L, 7L), .Dimnames = list(NULL, c('time', 'n.risk', 'n.event', 'survival', 'std.err', 'lower 95% CI', 'upper 95% CI'))), c('', '', ''), c('time', 'n.risk', 'n.event', 'survival', 'std.err', 'lower 95% CI', 'upper 95% CI'), TRUE, FALSE, NULL); .Internal(prmatrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))");
     }
 
     @Test
     public void testprmatrix2() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal prmatrix
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(structure(FALSE, .Dim = c(1L, 1L)), NULL, NULL, TRUE, FALSE, NULL); .Internal(prmatrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))");
     }
 
     @Test
     public void testprmatrix3() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal prmatrix
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(structure(c(1, 2, 3, 4, 5, 8, 11, 12, 15, 17, 22, 23, 21, 19, 17, 16, 14, 12, 8, 6, 4, 3, 2, 1, 2, 2, 1, 2, 2, 4, 2, 2, 1, 1, 1, 1, 0.904761904761905, 0.80952380952381, 0.761904761904762, 0.666666666666667, 0.571428571428571, 0.380952380952381, 0.285714285714286, 0.19047619047619, 0.142857142857143, 0.0952380952380952, 0.0476190476190476, 0, 0.0640564484890047, 0.0856890867468988, 0.0929428640903365, 0.102868899974728, 0.107989849431208, 0.105971169574131, 0.0985807941917649, 0.0856890867468988, 0.0763603548321212, 0.0640564484890047, 0.0464714320451682, NaN, 0.670045882235034, 0.568905059924173, 0.519391415328429, 0.425350435565247, 0.337976953859493, 0.183066548820394, 0.116561326436765, 0.0594817013611753, 0.0356573551906667, 0.016259260212247, 0.00332446304253118, NA, 0.975294149038113, 0.923888828559295, 0.893257109782487, 0.82504400879734, 0.749240709943216, 0.577788677745831, 0.481819648009025, 0.37743489058515, 0.321161574680869, 0.261249981968687, 0.197044905698946, NA), .Dim = c(12L, 7L), .Dimnames = list(NULL, c('time', 'n.risk', 'n.event', 'survival', 'std.err', 'lower 95% CI', 'upper 95% CI'))), c('', '', '', '', '', '', '', '', '', '', '', ''), c('time', 'n.risk', 'n.event', 'survival', 'std.err', 'lower 95% CI', 'upper 95% CI'), TRUE, FALSE, NULL); .Internal(prmatrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))");
     }
 
     @Test
     public void testprmatrix4() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal prmatrix
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(structure(c(952L, 3622L, 202L, 406L), .Dim = c(2L, 2L), .Dimnames = list(c('subcohort', 'cohort'), c('1', '2'))), c('subcohort', 'cohort'), c('1', '2'), FALSE, FALSE, NULL); .Internal(prmatrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))");
     }
 
     @Test
     public void testprmatrix5() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal prmatrix
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(structure(c(-1.89646294299258, 1.16675019914746, -8.10054918052941, -5.02922966334328, -0.332284173685658, -0.370285767776029, -0.422218802914528, 0.27824687717147, NA, 0.150098588668891, 3.21153879975245, 0.000303372486059531, 0.00654384959664698, 0.717283460804982, 0.690536969224971, 0.655590578569862, 1.32081223535046, NA, 1.38078223740269, 0.565646487676971, 0.698724423746393, 0.770086232143856, 0.0568682431416458, 0.116409970657657, 0.0584328435912827, 0.0510212342180821, 0, -1.37346997348395, 2.06268442316178, -11.5933390979754, -6.53073571948212, -5.84305326362929, -3.1808767383421, -7.22571035337252, 5.45355049590036, NA, 0.17, 0.039, 0, 6.5e-11, 5.1e-09, 0.0015, 5e-13, 4.9e-08, NA), .Dim = c(9L, 5L), .Dimnames = list(c('toccfarm', 'toccoperatives', 'toccprofessional', 'toccsales', 'tocccraftsmen:education', 'toccfarm:education', 'toccoperatives:education', 'toccprofessional:education', 'toccsales:education'), c('coef', 'exp(coef)', 'se(coef)', 'z', 'p'))), c('toccfarm', 'toccoperatives', 'toccprofessional', 'toccsales', 'tocccraftsmen:education', 'toccfarm:education', 'toccoperatives:education', 'toccprofessional:education', 'toccsales:education'), c('coef', 'exp(coef)', 'se(coef)', 'z', 'p'), TRUE, FALSE, NULL); .Internal(prmatrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))");
     }
 
     @Test
     public void testprmatrix6() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal prmatrix
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(structure(c('splines-package', 'as.polySpline', 'asVector', 'backSpline', 'bs', 'interpSpline', 'ns', 'periodicSpline', 'polySpline', 'predict.bs', 'predict.bSpline', 'predict.nbSpline', 'predict.npolySpline', 'predict.ns', 'predict.pbSpline', 'predict.ppolySpline', 'spline.des', 'splineDesign', 'splineKnots', 'splineOrder', 'splines', 'xyVector', 'splines-package', 'polySpline', 'asVector', 'backSpline', 'bs', 'interpSpline', 'ns', 'periodicSpline', 'polySpline', 'predict.bs', 'predict.bSpline', 'predict.bSpline', 'predict.bSpline', 'predict.bs', 'predict.bSpline', 'predict.bSpline', 'splineDesign', 'splineDesign', 'splineKnots', 'splineOrder', 'splines-package', 'xyVector'), .Dim = c(22L, 2L)), NULL, c('Column 1', 'Column 2', 'Column 3'), FALSE, TRUE, NULL); .Internal(prmatrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))");
     }
 
     @Test
     public void testprmatrix7() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal prmatrix
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(structure(c(' 0.228763', '-0.000666', '', '0.08909', '0.00426', '', '0.08899', '0.00426', '', '6.59', '0.02', '6.02', '1.00', '1.00', '3.06', '0.01', '0.88', '0.12'), .Dim = c(3L, 6L), .Dimnames = list(c('male', 'tt(agechf), linear', 'tt(agechf), nonlin'), c('coef', 'se(coef)', 'se2', 'Chisq', 'DF', 'p'))), c('male', 'tt(agechf), linear', 'tt(agechf), nonlin'), c('coef', 'se(coef)', 'se2', 'Chisq', 'DF', 'p'), FALSE, FALSE, NULL); .Internal(prmatrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))");
     }
 
     @Test
     public void testprmatrix8() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal prmatrix
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(structure(c(' 0.00561', '-1.65487', '', '0.012', '0.483', '', '0.00872', '0.38527', '', ' 0.22', '11.74', '20.33', ' 1.0', ' 1.0', '13.9', '0.64000', '0.00061', '0.12000'), .Dim = c(3L, 6L), .Dimnames = list(c('age', 'sex', 'frailty(id, dist = \\\'t\\\', c'), c('coef', 'se(coef)', 'se2', 'Chisq', 'DF', 'p'))), c('age', 'sex', 'frailty(id, dist = \\\'t\\\', c'), c('coef', 'se(coef)', 'se2', 'Chisq', 'DF', 'p'), FALSE, FALSE, NULL); .Internal(prmatrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_psigamma.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_psigamma.java
index 9ff14d898c24f971405c481f456a51fbc34c0740..8c7a7b06e81e5d014c2b0dcf563d559728597e1e 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_psigamma.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_psigamma.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -19,23 +19,23 @@ public class TestBuiltin_psigamma extends TestBase {
 
     @Test
     public void testpsigamma1() {
-        assertEval(Ignored.Unknown,
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(c(-100, -3, -2, -1, 0, 1, 2, -99.9, -7.7, -3, -2.9, -2.8, -2.7, -2.6, -2.5, -2.4, -2.3, -2.2, -2.1, -2, -1.9, -1.8, -1.7, -1.6, -1.5, -1.4, -1.3, -1.2, -1.1, -1, -0.9, -0.8, -0.7, -0.6, -0.5, -0.4, -0.3, -0.2, -0.0999999999999996, 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 5.1, 77), 1); .Internal(psigamma(argv[[1]], argv[[2]]))");
     }
 
     @Test
     public void testpsigamma2() {
-        assertEval(Ignored.Unknown, "argv <- list(c(1e+30, 1e+45, 1e+60, 1e+75, 1e+90), 2); .Internal(psigamma(argv[[1]], argv[[2]]))");
+        assertEval(Ignored.Unimplemented, "argv <- list(c(1e+30, 1e+45, 1e+60, 1e+75, 1e+90), 2); .Internal(psigamma(argv[[1]], argv[[2]]))");
     }
 
     @Test
     public void testpsigamma3() {
-        assertEval(Ignored.Unknown, "argv <- list(c(1e+20, 1e+30, 1e+40, 1e+50, 1e+60), 5); .Internal(psigamma(argv[[1]], argv[[2]]))");
+        assertEval(Ignored.Unimplemented, "argv <- list(c(1e+20, 1e+30, 1e+40, 1e+50, 1e+60), 5); .Internal(psigamma(argv[[1]], argv[[2]]))");
     }
 
     @Test
     public void testpsigamma4() {
-        assertEval(Ignored.Unknown,
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(c(-100, -3, -2, -1, 0, 1, 2, -99.9, -7.7, -3, -2.9, -2.8, -2.7, -2.6, -2.5, -2.4, -2.3, -2.2, -2.1, -2, -1.9, -1.8, -1.7, -1.6, -1.5, -1.4, -1.3, -1.2, -1.1, -1, -0.9, -0.8, -0.7, -0.6, -0.5, -0.4, -0.3, -0.2, -0.0999999999999996, 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 5.1, 77), 0); .Internal(psigamma(argv[[1]], argv[[2]]))");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_psort.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_psort.java
index ae148fb1ac5690446df385b2f86cdd75e0446a02..6150dfc0a8e170dd116e8fc6c792a2c0bb80fa9d 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_psort.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_psort.java
@@ -19,78 +19,76 @@ public class TestBuiltin_psort extends TestBase {
 
     @Test
     public void testpsort1() {
-        assertEval("argv <- list(7:8, 1:2); .Internal(psort(argv[[1]], argv[[2]]))");
+        // Second arg is a vector of indices in the resulting sorted vector where the elements must
+        // much a fully sorted vector.
+        // So only compare the required indices (rest of the vector can be unsorted and it can
+        // possibly differ between GnuR and FastR).
+        assertEval("argv <- list(7:8, 1:2); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]");
     }
 
     @Test
     public void testpsort2() {
-        assertEval(Ignored.Unknown,
-                        "argv <- list(c(0.0499999999999972, 0.300000000000004, 1.1, 0.0500000000000007, 0, 0.25, 1, 2.15, 1.95, 2.09999999999999, 1.95, 2.04999999999999, 2.59999999999999, 2.59999999999999, 2.6, 4.25, 3.45, 2.65000000000001, 3.49999999999999, 3.75000000000001, 2.75, 3.05, 2.8, 4.45, 3.35, 7.7, 14.2), 14L); .Internal(psort(argv[[1]], argv[[2]]))");
+        assertEval("argv <- list(c(0.0499999999999972, 0.300000000000004, 1.1, 0.0500000000000007, 0, 0.25, 1, 2.15, 1.95, 2.09999999999999, 1.95, 2.04999999999999, 2.59999999999999, 2.59999999999999, 2.6, 4.25, 3.45, 2.65000000000001, 3.49999999999999, 3.75000000000001, 2.75, 3.05, 2.8, 4.45, 3.35, 7.7, 14.2), 14L); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]");
     }
 
     @Test
     public void testpsort3() {
-        assertEval(Ignored.Unknown,
-                        "argv <- list(c(4.23272528138341e-16, 5.68989300120393e-16, 0.0499999999999982, 3.05311331771918e-16, 0.049999999999999, 0.0499999999999994, 3.05311331771918e-16, 0.0499999999999994, 0.100000000000001, 0.0999999999999994, 0.0999999999999994, 0.0500000000000006, 0.15, 0.15, 0.100000000000001, 0.0499999999999997, 0.150000000000001, 0.0999999999999995, 0.0999999999999993, 0.100000000000001, 0.0999999999999994, 0.100000000000001, 0.250000000000001, 0.250000000000001, 0.299999999999999, 0.199999999999999, 0.200000000000001, 0.3, 0.25, 0.199999999999999, 0.199999999999999, 0.150000000000001, 0.200000000000001, 0.199999999999998, 0.249999999999999, 0.199999999999999, 0.3, 0.350000000000001, 0.35, 0.300000000000001, 0.3, 0.350000000000002, 0.35, 0.35, 0.300000000000001, 0.350000000000001, 0.399999999999999, 0.4, 0.349999999999999, 0.350000000000001, 0.400000000000001, 0.300000000000001, 0.400000000000001, 0.449999999999999, 0.45, 0.450000000000001, 0.45, 0.450000000000001, 1.05, 0.7, 0.6, 1, 0.500000000000001, 0.5, 0.699999999999999, 1.05, 0.850000000000001, 0.650000000000001, 0.750000000000001, 0.75, 1, 0.699999999999999, 0.749999999999999, 1.05, 0.549999999999999, 0.500000000000001, 0.7, 0.8, 0.500000000000001, 0.650000000000001, 0.700000000000001, 0.599999999999999, 0.9, 0.75, 0.949999999999999, 0.899999999999999, 0.550000000000001, 1, 1.05, 1.05, 0.600000000000001, 0.6, 1.05, 0.749999999999999, 0.949999999999999, 1.1, 2.15, 1.45, 1.3, 2.1, 4.85, 3.7, 2.05, 1.2, 1.4, 1.3, 1.2, 1.85), 54:55); .Internal(psort(argv[[1]], argv[[2]]))");
+        assertEval("argv <- list(c(4.23272528138341e-16, 5.68989300120393e-16, 0.0499999999999982, 3.05311331771918e-16, 0.049999999999999, 0.0499999999999994, 3.05311331771918e-16, 0.0499999999999994, 0.100000000000001, 0.0999999999999994, 0.0999999999999994, 0.0500000000000006, 0.15, 0.15, 0.100000000000001, 0.0499999999999997, 0.150000000000001, 0.0999999999999995, 0.0999999999999993, 0.100000000000001, 0.0999999999999994, 0.100000000000001, 0.250000000000001, 0.250000000000001, 0.299999999999999, 0.199999999999999, 0.200000000000001, 0.3, 0.25, 0.199999999999999, 0.199999999999999, 0.150000000000001, 0.200000000000001, 0.199999999999998, 0.249999999999999, 0.199999999999999, 0.3, 0.350000000000001, 0.35, 0.300000000000001, 0.3, 0.350000000000002, 0.35, 0.35, 0.300000000000001, 0.350000000000001, 0.399999999999999, 0.4, 0.349999999999999, 0.350000000000001, 0.400000000000001, 0.300000000000001, 0.400000000000001, 0.449999999999999, 0.45, 0.450000000000001, 0.45, 0.450000000000001, 1.05, 0.7, 0.6, 1, 0.500000000000001, 0.5, 0.699999999999999, 1.05, 0.850000000000001, 0.650000000000001, 0.750000000000001, 0.75, 1, 0.699999999999999, 0.749999999999999, 1.05, 0.549999999999999, 0.500000000000001, 0.7, 0.8, 0.500000000000001, 0.650000000000001, 0.700000000000001, 0.599999999999999, 0.9, 0.75, 0.949999999999999, 0.899999999999999, 0.550000000000001, 1, 1.05, 1.05, 0.600000000000001, 0.6, 1.05, 0.749999999999999, 0.949999999999999, 1.1, 2.15, 1.45, 1.3, 2.1, 4.85, 3.7, 2.05, 1.2, 1.4, 1.3, 1.2, 1.85), 54:55); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]");
     }
 
     @Test
     public void testpsort4() {
-        assertEval(Ignored.Unknown,
-                        "argv <- list(c(0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.0499999999999998, 0.05, 0.05, 0.05, 0.0499999999999999, 0.05, 0.0499999999999999, 0.05, 0.0499999999999999, 0.0499999999999999, 0.05, 0.0499999999999999, 0.0499999999999999, 0.05, 0.05, 0.0499999999999998, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.0499999999999999, 0.05, 0.05, 0.05, 0.0499999999999999, 0.0499999999999999, 0.0499999999999999, 0.05, 0.05, 0.0499999999999999, 0.05, 0.0499999999999999, 0.05, 0.05, 0.05, 0.0499999999999998, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.0555556, 0.05555554, 0.05555556, 0.05555556, 0.05555554, 0.0555556, 0.0555555, 0.0555556, 0.0555555, 0.0555556, 0.0555555, 0.0555556, 0.0555556, 0.0555555, 0.0555555999999999, 0.0555555000000001, 0.0555555999999999, 0.0555555000000001, 0.0555555999999999, 0.0555555, 0.0555556, 0.0555559999999999, 0.055555, 0.0555559999999999, 0.0526315, 0.05263162, 0.05263158, 0.05263158, 0.05263162, 0.0526315, 0.0526316, 0.0526316, 0.0526316, 0.0526316, 0.0526315, 0.0526316, 0.0526316, 0.0526316, 0.0526316, 0.0526315000000001, 0.0526316, 0.0526315999999999, 0.0526316, 0.0526315000000001, 0.0526316, 0.0526316, 0.052632, 0.0526310000000001, 0.0526319999999998, 0.08333333, 0.08333333, 0.08333334, 0.08333333, 0.08333333, 0.08333337, 0.0833333, 0.0833333, 0.0833333, 0.0833333, 0.0833333, 0.0833333, 0.0833333000000001, 0.0833333000000001, 0.0833333999999999, 0.0833333000000001, 0.0833333000000001, 0.0833333999999999, 0.0833333000000001, 0.0833333000000001, 0.0833333999999999, 0.0833333000000001, 0.0833333000000001, 0.0833330000000001, 0.0833330000000001), 76:77); .Internal(psort(argv[[1]], argv[[2]]))");
+        assertEval("argv <- list(c(0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.0499999999999998, 0.05, 0.05, 0.05, 0.0499999999999999, 0.05, 0.0499999999999999, 0.05, 0.0499999999999999, 0.0499999999999999, 0.05, 0.0499999999999999, 0.0499999999999999, 0.05, 0.05, 0.0499999999999998, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.0499999999999999, 0.05, 0.05, 0.05, 0.0499999999999999, 0.0499999999999999, 0.0499999999999999, 0.05, 0.05, 0.0499999999999999, 0.05, 0.0499999999999999, 0.05, 0.05, 0.05, 0.0499999999999998, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.0555556, 0.05555554, 0.05555556, 0.05555556, 0.05555554, 0.0555556, 0.0555555, 0.0555556, 0.0555555, 0.0555556, 0.0555555, 0.0555556, 0.0555556, 0.0555555, 0.0555555999999999, 0.0555555000000001, 0.0555555999999999, 0.0555555000000001, 0.0555555999999999, 0.0555555, 0.0555556, 0.0555559999999999, 0.055555, 0.0555559999999999, 0.0526315, 0.05263162, 0.05263158, 0.05263158, 0.05263162, 0.0526315, 0.0526316, 0.0526316, 0.0526316, 0.0526316, 0.0526315, 0.0526316, 0.0526316, 0.0526316, 0.0526316, 0.0526315000000001, 0.0526316, 0.0526315999999999, 0.0526316, 0.0526315000000001, 0.0526316, 0.0526316, 0.052632, 0.0526310000000001, 0.0526319999999998, 0.08333333, 0.08333333, 0.08333334, 0.08333333, 0.08333333, 0.08333337, 0.0833333, 0.0833333, 0.0833333, 0.0833333, 0.0833333, 0.0833333, 0.0833333000000001, 0.0833333000000001, 0.0833333999999999, 0.0833333000000001, 0.0833333000000001, 0.0833333999999999, 0.0833333000000001, 0.0833333000000001, 0.0833333999999999, 0.0833333000000001, 0.0833333000000001, 0.0833330000000001, 0.0833330000000001), 76:77); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]");
     }
 
     @Test
     public void testpsort5() {
-        assertEval(Ignored.Unknown,
-                        "argv <- list(c(-3.35281542033775, -3.57533122743112, -3.23282496934355, -3.3903449466851, -3.39757437954971, -3.36251831175626, -3.22932468384763, -3.22295685034786, -3.21402130636699, -3.11638102275539, -3.09226646401048, -3.21757818016328, -3.0862187014408, -3.08484132891786), 7:8); .Internal(psort(argv[[1]], argv[[2]]))");
+        assertEval("argv <- list(c(-3.35281542033775, -3.57533122743112, -3.23282496934355, -3.3903449466851, -3.39757437954971, -3.36251831175626, -3.22932468384763, -3.22295685034786, -3.21402130636699, -3.11638102275539, -3.09226646401048, -3.21757818016328, -3.0862187014408, -3.08484132891786), 7:8); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]");
     }
 
     @Test
     public void testpsort6() {
-        assertEval(Ignored.Unknown,
-                        "argv <- list(c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE), c(66L, 195L)); .Internal(psort(argv[[1]], argv[[2]]))");
+        assertEval("argv <- list(c(FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE), c(66L, 195L)); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]");
     }
 
     @Test
     public void testpsort7() {
-        assertEval("argv <- list(c(1, 2, 2, 3, 3, 4, 4, 5), 1:8); .Internal(psort(argv[[1]], argv[[2]]))");
+        assertEval("argv <- list(c(1, 2, 2, 3, 3, 4, 4, 5), 1:8); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]");
     }
 
     @Test
     public void testpsort8() {
-        assertEval("argv <- list(27:28, 1:2); .Internal(psort(argv[[1]], argv[[2]]))");
+        assertEval("argv <- list(27:28, 1:2); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]");
     }
 
     @Test
     public void testpsort9() {
-        assertEval("argv <- list(c(-Inf, -Inf, Inf, Inf), 1:4); .Internal(psort(argv[[1]], argv[[2]]))");
+        assertEval("argv <- list(c(-Inf, -Inf, Inf, Inf), 1:4); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]");
     }
 
     @Test
     public void testpsort10() {
-        assertEval("argv <- list(c(-1.05715266611575, -0.873306430909872, -0.548705796690786, -0.288240908441576, -0.0649703574297026, 0.224762433374997, 0.3255545927283, 0.4813346401898, 0.530823516045489, 1.2699009772491), c(1L, 3L, 4L, 5L, 6L, 7L, 8L, 10L)); .Internal(psort(argv[[1]], argv[[2]]))");
+        assertEval("argv <- list(c(-1.05715266611575, -0.873306430909872, -0.548705796690786, -0.288240908441576, -0.0649703574297026, 0.224762433374997, 0.3255545927283, 0.4813346401898, 0.530823516045489, 1.2699009772491), c(1L, 3L, 4L, 5L, 6L, 7L, 8L, 10L)); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]");
     }
 
     @Test
     public void testpsort11() {
-        assertEval("argv <- list(c(-1.05715266611575, -0.873306430909873, -0.548705796690787, -0.288240908441577, -0.0649703574297025, 0.224762433374994, 0.3255545927283, 0.481334640189799, 0.530823516045488, 1.2699009772491), c(1L, 3L, 4L, 5L, 6L, 7L, 8L, 10L)); .Internal(psort(argv[[1]], argv[[2]]))");
+        assertEval("argv <- list(c(-1.05715266611575, -0.873306430909873, -0.548705796690787, -0.288240908441577, -0.0649703574297025, 0.224762433374994, 0.3255545927283, 0.481334640189799, 0.530823516045488, 1.2699009772491), c(1L, 3L, 4L, 5L, 6L, 7L, 8L, 10L)); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]");
     }
 
     @Test
     public void testpsort12() {
-        assertEval("argv <- list(c(-Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -4.17369555651928e+302, -2.72671165723473e+289, -2.21240023126594e+276, -2.24780296109123e+263, -2.88514442494869e+250, -4.72336572671053e+237, -9.96611412047338e+224, -2.74100158340596e+212, -9.94902790498679e+199, -4.83110332887119e+187, -3.18582547396557e+175, -2.90089508183654e+163, -3.71562599613334e+151, -6.83535188151783e+139, -1.84898368353639e+128, -7.55412056676629e+116, -4.80716085942859e+105, -4.9383857330861e+94, -8.54170618068872e+83, -2.61556777274611e+73, -1.5069799345972e+63, -1.76183826972506e+53, -4.60125024792566e+43, -3.04622557026196e+34, -6.08456909882282e+25, -473300382255715392, -21650982809.6744, -12820.0784261145, -1.12778377684043), c(1L, 13L, 14L, 26L, 38L, 39L, 51L)); .Internal(psort(argv[[1]], argv[[2]]))");
+        assertEval("argv <- list(c(-Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -Inf, -4.17369555651928e+302, -2.72671165723473e+289, -2.21240023126594e+276, -2.24780296109123e+263, -2.88514442494869e+250, -4.72336572671053e+237, -9.96611412047338e+224, -2.74100158340596e+212, -9.94902790498679e+199, -4.83110332887119e+187, -3.18582547396557e+175, -2.90089508183654e+163, -3.71562599613334e+151, -6.83535188151783e+139, -1.84898368353639e+128, -7.55412056676629e+116, -4.80716085942859e+105, -4.9383857330861e+94, -8.54170618068872e+83, -2.61556777274611e+73, -1.5069799345972e+63, -1.76183826972506e+53, -4.60125024792566e+43, -3.04622557026196e+34, -6.08456909882282e+25, -473300382255715392, -21650982809.6744, -12820.0784261145, -1.12778377684043), c(1L, 13L, 14L, 26L, 38L, 39L, 51L)); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]");
     }
 
     @Test
     public void testpsort13() {
-        assertEval(Ignored.Unknown,
-                        "argv <- list(c(0.5, 0.6, 1.2, 1.3, 1.6, 5.8, 6.2, 3.7, 5.1, 5, 4, 4, 5.3, 1.4, 6.6, 3.8, 2.6, 3.2, 2.9, 6.8, 10.6, 7.6, 9.3, 8, 10, 10, 8, 10.5, 10.5, 9.7, 9.7, 9.4, 8.9, 8.8, 8, 10.1, 8.5, 9.1, 7.5, 7.4, 7.5, 7.6, 8.4, 8.5, 10.8, 11.1, 12, 12, 18, 17.7, 16, 15, 14, 12.9, 12.7, 12.6, 17.9, 12.1, 17.7, 16.1, 13, 17.3, 17, 16.7, 13, 15.7, 19, 16, 17, 12, 12.2, 12.8, 14.6, 14.9, 17.6, 21, 20.5, 19.6, 20.2, 20.8, 21.1, 21.9, 20.5, 19.2, 22.5, 22, 23.2, 23, 22, 22, 23.4, 23.4, 23.5, 29, 26, 25, 28.5, 25.4, 29, 24.2, 23.9, 24.6, 25.7, 25.3, 28.6, 26.5, 29, 37.8, 30.9, 42, 31, 38.5, 41.4, 43.6, 46.7, 37.4, 45, 35.9, 36.1, 32, 44.4, 40.3, 30, 31, 32, 32.7, 36, 43.5, 33.1, 32.9, 36.3, 38.9, 30, 46.1, 45, 47.1, 47.7, 187, 147, 130, 49.2, 62, 141, 122, 105, 62, 64, 123, 112, 105, 63.6, 60, 49, 66, 87, 56.9, 60.7, 61.4, 156, 62, 64, 82, 88, 48.3, 109, 107, 85, 91, 148, 145, 53.1, 50, 92.2, 224, 293, 300, 211, 200, 197, 203, 359, 370), c(1L, 46L, 47L, 91L, 92L, 136L, 137L, 182L)); .Internal(psort(argv[[1]], argv[[2]]))");
+        assertEval("argv <- list(c(0.5, 0.6, 1.2, 1.3, 1.6, 5.8, 6.2, 3.7, 5.1, 5, 4, 4, 5.3, 1.4, 6.6, 3.8, 2.6, 3.2, 2.9, 6.8, 10.6, 7.6, 9.3, 8, 10, 10, 8, 10.5, 10.5, 9.7, 9.7, 9.4, 8.9, 8.8, 8, 10.1, 8.5, 9.1, 7.5, 7.4, 7.5, 7.6, 8.4, 8.5, 10.8, 11.1, 12, 12, 18, 17.7, 16, 15, 14, 12.9, 12.7, 12.6, 17.9, 12.1, 17.7, 16.1, 13, 17.3, 17, 16.7, 13, 15.7, 19, 16, 17, 12, 12.2, 12.8, 14.6, 14.9, 17.6, 21, 20.5, 19.6, 20.2, 20.8, 21.1, 21.9, 20.5, 19.2, 22.5, 22, 23.2, 23, 22, 22, 23.4, 23.4, 23.5, 29, 26, 25, 28.5, 25.4, 29, 24.2, 23.9, 24.6, 25.7, 25.3, 28.6, 26.5, 29, 37.8, 30.9, 42, 31, 38.5, 41.4, 43.6, 46.7, 37.4, 45, 35.9, 36.1, 32, 44.4, 40.3, 30, 31, 32, 32.7, 36, 43.5, 33.1, 32.9, 36.3, 38.9, 30, 46.1, 45, 47.1, 47.7, 187, 147, 130, 49.2, 62, 141, 122, 105, 62, 64, 123, 112, 105, 63.6, 60, 49, 66, 87, 56.9, 60.7, 61.4, 156, 62, 64, 82, 88, 48.3, 109, 107, 85, 91, 148, 145, 53.1, 50, 92.2, 224, 293, 300, 211, 200, 197, 203, 359, 370), c(1L, 46L, 47L, 91L, 92L, 136L, 137L, 182L)); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]");
     }
 
     @Test
     public void testpsort14() {
-        assertEval("argv <- list(c(-1.36919169254062, -0.667819876370237, -0.253162069270378, -0.0834190388782434, -0.00786394222146348, 0.0246733498130512, 0.0730305465518564, 0.0881443844426084, 0.170711734013213, 0.552921941721332), c(1L, 3L, 4L, 5L, 6L, 7L, 8L, 10L)); .Internal(psort(argv[[1]], argv[[2]]))");
+        assertEval("argv <- list(c(-1.36919169254062, -0.667819876370237, -0.253162069270378, -0.0834190388782434, -0.00786394222146348, 0.0246733498130512, 0.0730305465518564, 0.0881443844426084, 0.170711734013213, 0.552921941721332), c(1L, 3L, 4L, 5L, 6L, 7L, 8L, 10L)); .Internal(psort(argv[[1]], argv[[2]]))[argv[[2]]]");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_qr.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_qr.java
index 397aa78e82d932bdeac49e10adb8ba784e70900b..c176d24ca4d06e443beac0829ae8e2411b5e565f 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_qr.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_qr.java
@@ -19,13 +19,15 @@ public class TestBuiltin_qr extends TestBase {
 
     @Test
     public void testqr1() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal qr_coef_cmplx
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(structure(list(qr = structure(c(-2.99896066496855+0i, 0.0864255261791181+0i, -0.13772470327145+0i, -0.49098351645158+0i, 0.249389337649224+0i, 1.17331892183982+0i, -1.54960102684918+0i, -0.573648421141553+0i, 0.376760682628698+0i, 0.412090084647403+0i, 0.603959683330493+0i, -0.0216928335770876+0i, -1.2469936242596+0i, 0.224366164923213+0i, 0.341798188737913+0i, 1.04294423444024+0i, 0.270564951504877+0i, -0.315381666175534+0i, 0.787566751532822+0i, 0.229154517629245+0i, -2.25109940279642+0i, 0.530750192641659+0i, -0.0977755443891602+0i, 0.6614171819615+0i, -0.0856949989622426+0i), .Dim = c(5L, 5L), .Dimnames = list(c('1', '2', '3', '4', '5'), c('c', 'a', 'd', 'b', 'e'))), rank = 5L, qraux = c(1.50410169966891+0i, 1.21888836143069+0i, 1.71355205288103+0i, 1.90021623833265+0i, 0+0i), pivot = c(3L, 1L, 4L, 2L, 5L)), .Names = c('qr', 'rank', 'qraux', 'pivot'), class = 'qr'), structure(1:5, .Dim = c(5L, 1L))); .Internal(qr_coef_cmplx(argv[[1]], argv[[2]]))");
     }
 
     @Test
     public void testqr2() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal qr_qy_real
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(structure(list(qr = structure(c(-2.79657712283236, 0.0791500442336917, 0.123755637403102, 0.089607462331441, 0.175462651449591, 0.0695565565709435, 0.129006956605315, 0.206583197284758, 0.0227114114395308, 0.235970456809858, 0.0914077988155571, 0.226297607634113, 0.0934594628258066, 0.0899795540097744, 0.12841549388179, 0.240520185730483, 0.233009950431413, 0.105133974880502, 0.2095512974465, 0.258964862210899, -2.07025325833148, -1.85301582498188, 0.139094572499947, 0.342556683478902, -0.102024562608463, 0.360699451256097, 0.315324737973941, 0.0873752715112826, 0.2823485467872, -0.239863332146733, -0.00369181667619238, -0.172536775168022, 0.229736826805589, 0.0852501914884386, 0.230310089401495, -0.0314168397035678, 0.0849707357385819, 0.365804687920591, -0.0536336269418447, 0.0845797169641211, -2.03746531175251, -0.489461063366758, -1.40644653583967, -0.00873041883181913, 0.0708276075409328, 0.153420226417602, -0.370069917481653, -0.112816417432651, 0.240125650075004, 0.138426195987046, 0.128552669396225, 0.217325815608225, -0.0223361051263949, -0.0526633296159945, -0.296094517820351, -0.327346352864029, -0.249917267465335, -0.0672115093838751, 0.0654426021596298, -0.240131194574062, -2.06587739268838, -0.339470951293598, -0.49608488205654, 1.14277258876071, 0.201196269542128, 0.0348254315928563, 0.145314253550005, 0.131380830586619, -0.387015716398766, 0.283849139598354, -0.0827284627849877, 0.132994279479374, -0.113393410148955, 0.0518736136418599, -0.422882666833989, -0.141635274746576, -0.181291088091223, 0.196913259592121, -0.0460107390352923, 0.15597817986415), .Dim = c(20L, 4L)), rank = 4L, qraux = c(1.32642615746455, 1.10105053486773, 1.21513331337829, 1.21397558590595), pivot = c(4L, 1L, 3L, 2L)), .Names = c('qr', 'rank', 'qraux', 'pivot'), useLAPACK = TRUE, class = 'qr'), structure(c(0.434659484773874, 0.712514678714797, 0.399994368897751, 0.325352151878178, 0.757087148027495, 0.202692255144939, 0.711121222469956, 0.121691921027377, 0.245488513959572, 0.14330437942408, 0.239629415096715, 0.0589343772735447, 0.642288258532062, 0.876269212691113, 0.778914677444845, 0.79730882588774, 0.455274453619495, 0.410084082046524, 0.810870242770761, 0.604933290276676, 0.654723928077146, 0.353197271935642, 0.270260145887733, 0.99268406117335, 0.633493264438584, 0.213208135217428, 0.129372348077595, 0.478118034312502, 0.924074469832703, 0.59876096714288, 0.976170694921166, 0.731792511884123, 0.356726912083104, 0.431473690550774, 0.148211560677737, 0.0130775754805654, 0.715566066093743, 0.103184235747904, 0.446284348610789, 0.640101045137271, 1.00298403897323, 0.272296643047594, 0.67556063386146, 0.151371688628569, 0.340151631063782, 0.431371175684035, 0.0309030100004748, 0.457057784032077, 0.880189609760418, 0.426803491590545, 0.543544612638652, 0.655281779309735, 0.526419038954191, 0.231530745956115, 0.877417415869422, 0.686553374305367, 0.847202921006829, 0.115471200458705, 0.751486539305188, 0.432544381567277, 0.682788078673184, 0.601541217649356, 0.238868677755818, 0.258165926672518, 0.729309623362496, 0.452570831403136, 0.175126768415794, 0.746698269620538, 0.104987640399486, 0.864544949028641, 0.614644971676171, 0.557159538846463, 0.328777319053188, 0.453131445450708, 0.500440972624347, 0.180866361130029, 0.529630602803081, 0.0752757457084954, 0.277755932649598, 0.212699519237503, 0.0904899418726564, 0.0829104807786643, 0.140637623313814, 0.186663761837408, 0.0510252129565924, 0.195122500695288, 0.189470667047426, 0.14745507678017, 0.160610442608595, 0.0259712139610201, 0.0604781195987016, 0.0592939835228026, 0.157146221613511, 0.0842694476991892, 0.187063216743991, 0.126278517944738, 0.175293296081945, 0.202698964001611, 0.104955473728478, 0.1719400214497, 0.293730155099183, 0.19126010988839, 0.886450943304226, 0.503339485730976, 0.877057543024421, 0.189193622441962, 0.758103052387014, 0.724498892668635, 0.943724818294868, 0.547646587016061, 0.711743867723271, 0.388905099825934, 0.100873126182705, 0.927302088588476, 0.283232500310987, 0.59057315881364, 0.110360604943708, 0.840507032116875, 0.317963684443384, 0.782851336989552, 0.267508207354695, 0.218645284883678, 0.516796836396679, 0.268950592027977, 0.181168327340856, 0.518576137488708, 0.562782935798168, 0.129156854469329, 0.256367604015395, 0.717935275984928, 0.961409936426207, 0.100140846567228, 0.763222689507529, 0.947966354666278, 0.818634688388556, 0.308292330708355, 0.649579460499808, 0.953355451114476, 0.953732650028542, 0.339979203417897), .Dim = c(20L, 7L)), TRUE); .Internal(qr_qy_real(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
@@ -39,14 +41,22 @@ public class TestBuiltin_qr extends TestBase {
         assertEval("{ m <- matrix(c(1,0,0,0,1,0,0,0,1),nrow=3) ; x <- qr(m, LAPACK=FALSE) ; qr.coef(x, 1:3) }");
         assertEval("{ x <- qr(cbind(1:3,2:4), LAPACK=FALSE) ; round( qr.coef(x, 1:3), digits=5 ) }");
 
-        assertEval(Ignored.Unknown, "{ x <- qr(t(cbind(1:10,2:11)), LAPACK=TRUE) ; qr.coef(x, 1:2) }");
+        // FIXME
+        // Expected output: [1] 1 NA NA NA NA NA NA NA NA 0
+        // FastR output: Error in coef[qr$pivot, ] <- .Internal(qr_coef_real(qr, y))[ix, ] :
+        // number of items to replace is not a multiple of replacement length
+        // Documentation of qr.coef() does not specify error conditions so I assume
+        // that FastR shoul probably adhere to the GnuR behavior here.
+        assertEval(Ignored.ImplementationError, "{ x <- qr(t(cbind(1:10,2:11)), LAPACK=TRUE) ; qr.coef(x, 1:2) }");
         assertEval("{ qr(10, LAPACK=TRUE) }");
-        assertEval(Ignored.Unknown, "{ round( qr(matrix(1:6,nrow=2), LAPACK=TRUE)$qr, digits=5) }");
+        // FIXME numeric output values differ
+        assertEval(Ignored.ImplementationError, "{ round( qr(matrix(1:6,nrow=2), LAPACK=TRUE)$qr, digits=5) }");
 
         // qr.coef
         assertEval("{ x <- qr(cbind(1:10,2:11), LAPACK=TRUE) ; qr.coef(x, 1:2) }");
-        assertEval(Ignored.Unknown, " { x <- qr(cbind(1:10,2:11), LAPACK=TRUE) ; round( qr.coef(x, 1:10), digits=5 ) }");
-        assertEval(Ignored.Unknown, "{ x <- qr(c(3,1,2), LAPACK=TRUE) ; round( qr.coef(x, c(1,3,2)), digits=5 ) }");
+        // FIXME subscript out of bounds - is this appropriate in this case??
+        assertEval(Ignored.ImplementationError, " { x <- qr(cbind(1:10,2:11), LAPACK=TRUE) ; round( qr.coef(x, 1:10), digits=5 ) }");
+        assertEval(Ignored.ImplementationError, "{ x <- qr(c(3,1,2), LAPACK=TRUE) ; round( qr.coef(x, c(1,3,2)), digits=5 ) }");
         // FIXME: GNU-R will print negative zero as zero
         assertEval("{ x <- qr(t(cbind(1:10,2:11)), LAPACK=FALSE) ; qr.coef(x, 1:2) }");
         assertEval("{ x <- qr(c(3,1,2), LAPACK=FALSE) ; round( qr.coef(x, c(1,3,2)), digits=5 ) }");
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_qsort.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_qsort.java
index f9676194a0c36444ae1e35dd50404f5285463bd7..49a8ed57bf001857b5a76ff9cc46bea7d0312134 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_qsort.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_qsort.java
@@ -34,13 +34,19 @@ public class TestBuiltin_qsort extends TestBase {
 
     @Test
     public void testqsort4() {
-        assertEval(Ignored.Unknown,
+        // FastR returns double vector ordered according to the second "decreasing" argument.
+        // GnuR returns "list" with sorted double vector in "x" and element indices in "ix"
+        // GnuR ignores second argument "decreasing" and it always sorts in ascending order.
+        assertEval(Ignored.ReferenceError,
                         "argv <- list(c(1.64819754690779, 0.502718643389684, 0.845467412356198, 0.467247395729231, -0.402055063696625, 0.923526703253396, -0.0080556407117813, 1.03378423761425, -0.799126981726699, 1.00423302095334, -0.311973356192691, -0.88614958536232, -1.9222548962705, 1.61970074406333, 0.519269904664384, -0.055849931834021, 0.696417610118512), TRUE); .Internal(qsort(argv[[1]], argv[[2]]))");
     }
 
     @Test
     public void testqsort5() {
-        assertEval(Ignored.Unknown, "argv <- list(c(1L, 7L, 11L, 12L, 13L, 19L, 25L, 3L, 8L), TRUE); .Internal(qsort(argv[[1]], argv[[2]]))");
+        // FastR returns double vector ordered according to the second "decreasing" argument.
+        // GnuR returns "list" with sorted double vector in "x" and element indices in "ix"
+        // GnuR ignores second argument "decreasing" and it always sorts in ascending order.
+        assertEval(Ignored.ReferenceError, "argv <- list(c(1L, 7L, 11L, 12L, 13L, 19L, 25L, 3L, 8L), TRUE); .Internal(qsort(argv[[1]], argv[[2]]))");
     }
 
     @Test
@@ -75,7 +81,10 @@ public class TestBuiltin_qsort extends TestBase {
 
     @Test
     public void testqsort12() {
-        assertEval(Ignored.Unknown, "argv <- list(FALSE, FALSE); .Internal(qsort(argv[[1]], argv[[2]]))");
+        // FIXME:
+        // FastR refuses to sort logical vector with "Error: argument is not a numeric vector"
+        // GnuR outputs "[1] FALSE"
+        assertEval(Ignored.ReferenceError, "argv <- list(FALSE, FALSE); .Internal(qsort(argv[[1]], argv[[2]]))");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_rcond.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_rcond.java
index 066ead4009ed6ce446bf914b5441b5e5eaab18d5..68c0bf5a03c6a563209946c67488ccf51ad3710b 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_rcond.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_rcond.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -20,14 +20,16 @@ public class TestBuiltin_rcond extends TestBase {
 
     @Test
     public void testrcond1() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal La_dgecon
+        assertEval(Ignored.Unimplemented,
                         "argv <- structure(list(x = structure(c(FALSE, TRUE, FALSE, TRUE,     TRUE, FALSE, TRUE, TRUE, TRUE, FALSE, TRUE, FALSE, TRUE,     TRUE, FALSE, TRUE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE,     TRUE, TRUE, TRUE), .Dim = c(5L, 5L))), .Names = 'x');" +
                                         "do.call('rcond', argv)");
     }
 
     @Test
     public void testrcond2() {
-        assertEval(Ignored.Unknown,
+        // FIXME RInternalError: not implemented: .Internal La_zgecon
+        assertEval(Ignored.Unimplemented,
                         "argv <- structure(list(x = structure(c(0.483017750550061 + (0+0i),     0.399143285583705 + (0+0i), 0.0162145779468119 + (0+0i),     0.125083255348727 + (0+0i), 0.0706489166477695 + (0+0i),     0.504917626501992 + (0+0i), 0.327679358422756 + (0+0i), 0.411779605317861 +         (0+0i), 0.202413034392521 + (0+0i), 0.307096319855191 +         (0+0i), 0.642031987197697 + (0+0i), 0.276873307069764 +         (0+0i), 0.103556007146835 + (0+0i), 0.256002754438668 +         (0+0i), 0.179779380792752 + (0+0i), 0.247455857461318 +         (0+0i), 0.215011228807271 + (0+0i), 0.493673762306571 +         (0+0i), 0.653446026844904 + (0+0i), 0.573559894575737 +         (0+0i), 0.863887825980783 + (0+0i), 0.637789903208613 +         (0+0i), 0.0137805955018848 + (0+0i), 0.529164811130613 +         (0+0i), 0.271472703316249 + (0+0i)), .Dim = c(5L, 5L))),     .Names = 'x');" +
                                         "do.call('rcond', argv)");
     }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_readChar.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_readChar.java
index e8fb5383832d4a31e83de6158c534e7fd3dbaeb2..763d41b41cbb77445aa37d121c93945a886e777b 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_readChar.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_readChar.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -20,7 +20,10 @@ public class TestBuiltin_readChar extends TestBase {
 
     @Test
     public void testreadChar1() {
-        assertEval(Ignored.Unknown, "argv <- structure(list(con = as.raw(c(65, 66, 67, 68, 69, 70,     71, 72, 73, 74)), nchars = c(3, 3, 0, 3, 3, 3)), .Names = c('con',     'nchars'));" +
+        // FIXME raw character vector as first argument seems to be unsupported:
+        // Error in readChar(as.raw(c(65, 66, 67)), nchars = 3) : invalid connection
+        assertEval(Ignored.ImplementationError, "readChar(as.raw(c(65,66,67)), nchars=3);");
+        assertEval(Ignored.ImplementationError, "argv <- structure(list(con = as.raw(c(65, 66, 67, 68, 69, 70,     71, 72, 73, 74)), nchars = c(3, 3, 0, 3, 3, 3)), .Names = c('con',     'nchars'));" +
                         "do.call('readChar', argv)");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_regexpr.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_regexpr.java
index f7d7efa0cd53e55154dfb388d983d6108999c396..a4ed9501b845b8a1d136c6dc81d157fb66f2d481 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_regexpr.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_regexpr.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2012-2014, Purdue University
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2013, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -24,7 +24,8 @@ public class TestBuiltin_regexpr extends TestBase {
 
     @Test
     public void testregexpr2() {
-        assertEval(Ignored.Unknown,
+        // FIXME FastR ignores useBytes == TRUE (then resulting index must be expressed in bytes)
+        assertEval(Ignored.ImplementationError,
                         "argv <- list('éè', '«Latin-1 accented chars»: éè øØ å<Å æ<Æ é éè', FALSE, FALSE, TRUE, TRUE); .Internal(regexpr(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]]))");
     }
 
@@ -70,19 +71,28 @@ public class TestBuiltin_regexpr extends TestBase {
 
     @Test
     public void testregexpr12() {
-        assertEval(Ignored.Unknown, "argv <- structure(list(pattern = '\\d', text = c('1', 'B', '3')),     .Names = c('pattern', 'text'));do.call('regexpr', argv)");
+        // Expected output: Error: '\d' is an unrecognized escape in character string starting "'\d"
+        // FastR output: Error: unexpected 'd' in "argv <- structure(list(pattern = '\d"
+        assertEval(Output.IgnoreErrorMessage, "argv <- structure(list(pattern = '\\d', text = c('1', 'B', '3')),     .Names = c('pattern', 'text'));do.call('regexpr', argv)");
     }
 
     @Test
     public void testregexpr13() {
-        assertEval(Ignored.Unknown, "argv <- structure(list(pattern = '[a-z]', text = NA), .Names = c('pattern',     'text'));do.call('regexpr', argv)");
+        // FIXME according to ?regexpr the GnuR is correct and NA should be returned
+        // Expected output: [1] NA
+        // FastR output: [1] -1
+        assertEval(Ignored.ImplementationError, "regexpr('a', NA)");
+        assertEval(Ignored.ImplementationError, "argv <- structure(list(pattern = '[a-z]', text = NA), .Names = c('pattern',     'text'));do.call('regexpr', argv)");
     }
 
     @Test
     public void testRegExpr() {
         assertEval("regexpr(\"e\",c(\"arm\",\"foot\",\"lefroo\", \"bafoobar\"))");
         // NOTE: this is without attributes
-        assertEval(Ignored.Unknown, "regexpr(\"(a)[^a]\\\\1\", c(\"andrea apart\", \"amadeus\", NA))");
+        // FIXME NA should be the match for NA (not -1)
+        // Expected output: [1] 6 1 NA
+        // FastR output: [1] 6 1 -1
+        assertEval(Ignored.ImplementationError, "regexpr(\"(a)[^a]\\\\1\", c(\"andrea apart\", \"amadeus\", NA))");
 
         assertEval("{ regexpr(\"aaa\", \"bbbaaaccc\", fixed=TRUE)  }");
         assertEval("{ regexpr(\"aaa\", c(\"bbbaaaccc\", \"haaah\"), fixed=TRUE) }");
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_rep.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_rep.java
index df9b448fc350c061c00b4067050b32ad0d61c264..f40826faf1a65e0cb55d9de0457e58dbbfdcae4f 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_rep.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_rep.java
@@ -59,7 +59,10 @@ public class TestBuiltin_rep extends TestBase {
 
     @Test
     public void testrep9() {
-        assertEval(Ignored.Unknown, "argv <- list(structure(1:4, .Label = c('A', 'B', 'C', 'D'), class = 'factor', .Names = c('a', 'b', 'c', 'd')), 10); .Internal(rep_len(argv[[1]], argv[[2]]))");
+        // GnuR returns [1] A B C D A B C D A B
+        // which is incorrect (those are just labels); btw rep() behaves correctly
+        assertEval(Ignored.ReferenceError,
+                        "argv <- list(structure(1:4, .Label = c('A', 'B', 'C', 'D'), class = 'factor', .Names = c('a', 'b', 'c', 'd')), 10); .Internal(rep_len(argv[[1]], argv[[2]]))");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_round.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_round.java
index ca06cd1db769155a7350fb0106f79e861e9ca35f..1101dc9b129c1b46fa0d40ad1ca5fa7bc23745c4 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_round.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_round.java
@@ -48,7 +48,9 @@ public class TestBuiltin_round extends TestBase {
         assertEval("{ round(c(0,0.2,NaN,0.6,NA,1)) }");
         assertEval("{ round(as.complex(c(0,0.2,NaN,0.6,NA,1))) }");
 
-        assertEval(Ignored.Unknown, "{ round(1.123456,digit=2.8) }");
+        // FIXME: we need to decide whether 2.8 means three digits (GnuR) or two (FastR) when
+        // calling round()
+        assertEval(Ignored.ImplementationError, "{ round(1.123456,digit=2.8) }");
 
         assertEval("{ typeof(round(42L)); }");
         assertEval("{ typeof(round(TRUE)); }");
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_sin.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_sin.java
index 6a2d7e76bd248a24e00ffca929d7390f587c3b6c..5fb590de050474801403e5560858ed1cdac43d69 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_sin.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_sin.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2012-2014, Purdue University
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2013, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -49,7 +49,9 @@ public class TestBuiltin_sin extends TestBase {
 
     @Test
     public void testsin7() {
-        assertEval(Ignored.Unknown, "argv <- list(Inf);sin(argv[[1]]);");
+        // FIXME Warning message:
+        // In sin(argv[[1]]) : NaNs produced
+        assertEval(Output.MissingWarning, "argv <- list(Inf);sin(argv[[1]]);");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_sub.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_sub.java
index 3d15a80d4d8bda9cf722062d4aa988ec8c5b73a8..79ac5f153443783fb40127cbed696bd8c954de66 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_sub.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_sub.java
@@ -74,25 +74,29 @@ public class TestBuiltin_sub extends TestBase {
 
     @Test
     public void testsub12() {
-        assertEval(Ignored.Unknown,
+        // FIXME trailing whitespace in output in FastR
+        assertEval(Output.IgnoreWhitespace,
                         "argv <- list('.* : ', '', structure('Error in rnorm(2, c(1, NA)) : (converted from warning) NAs produced\\n', class = 'try-error', condition = structure(list(message = '(converted from warning) NAs produced', call = quote(rnorm(2, c(1, NA)))), .Names = c('message', 'call'), class = c('simpleError', 'error', 'condition'))), FALSE, FALSE, FALSE, FALSE); .Internal(sub(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))");
     }
 
     @Test
     public void testsub13() {
-        assertEval(Ignored.Unknown,
+        // FIXME trailing whitespace in output in FastR
+        assertEval(Output.IgnoreWhitespace,
                         "argv <- list('.* : ', '', structure('Error in rexp(2, numeric()) : (converted from warning) NAs produced\\n', class = 'try-error', condition = structure(list(message = '(converted from warning) NAs produced', call = quote(rexp(2, numeric()))), .Names = c('message', 'call'), class = c('simpleError', 'error', 'condition'))), FALSE, FALSE, FALSE, FALSE); .Internal(sub(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))");
     }
 
     @Test
     public void testsub14() {
-        assertEval(Ignored.Unknown,
+        // FIXME trailing whitespace in output in FastR
+        assertEval(Output.IgnoreWhitespace,
                         "argv <- list('.* : ', '', structure('Error in rnorm(2, numeric()) : (converted from warning) NAs produced\\n', class = 'try-error', condition = structure(list(message = '(converted from warning) NAs produced', call = quote(rnorm(2, numeric()))), .Names = c('message', 'call'), class = c('simpleError', 'error', 'condition'))), FALSE, FALSE, FALSE, FALSE); .Internal(sub(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))");
     }
 
     @Test
     public void testsub15() {
-        assertEval(Ignored.Unknown,
+        // FIXME trailing whitespace in output in FastR
+        assertEval(Output.IgnoreWhitespace,
                         "argv <- list('.* : ', '', structure('Error in rnorm(1, sd = Inf) : (converted from warning) NAs produced\\n', class = 'try-error', condition = structure(list(message = '(converted from warning) NAs produced', call = quote(rnorm(1, sd = Inf))), .Names = c('message', 'call'), class = c('simpleError', 'error', 'condition'))), FALSE, FALSE, FALSE, FALSE); .Internal(sub(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))");
     }
 
@@ -151,8 +155,9 @@ public class TestBuiltin_sub extends TestBase {
         assertEval("{ sub(pattern = 'a*', replacement = 'x', x = 'ÄaÄ', perl = TRUE) }");
         assertEval("{ sub(pattern = 'a*', replacement = 'x', x = 'ÄaaaaÄ', perl = TRUE) }");
 
+        // FIXME
         // Expected output: [1] "xaÄÄÄÄÄb"
         // FastR output: [1] "axÄÄÄÄb"
-        assertEval(Ignored.Unknown, "{ sub(pattern = 'Ä*', replacement = 'x', x = 'aÄÄÄÄÄb', perl = TRUE) }");
+        assertEval(Ignored.ImplementationError, "{ sub(pattern = 'Ä*', replacement = 'x', x = 'aÄÄÄÄÄb', perl = TRUE) }");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_substr.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_substr.java
index 4a5cff4415a1e82a2f5cb56f8740de80eb885b84..3942c970d887d28a85bb8200d35d96f4ec238753 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_substr.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_substr.java
@@ -29,7 +29,8 @@ public class TestBuiltin_substr extends TestBase {
 
     @Test
     public void testsubstr3() {
-        assertEval(Ignored.Unknown,
+        // FIXME: We do not treat .Names as column headers while GnuR does
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(c('as.formula', 'coef', 'makepredictcall', 'na.fail', 'predict'), .Names = c('as.formula', 'coef', 'makepredictcall', 'na.fail', 'predict')), 1L, 6L); .Internal(substr(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
@@ -40,7 +41,11 @@ public class TestBuiltin_substr extends TestBase {
 
     @Test
     public void testsubstr5() {
-        assertEval(Ignored.Unknown, "argv <- list(structure('to be supported).', Rd_tag = 'TEXT'), 17L, 17L); .Internal(substr(argv[[1]], argv[[2]], argv[[3]]))");
+        // FIXME: GnuR outputs all params to structure(...) as result of substr() i.e. here:
+        // attr(,"Rd_tag")
+        // [1] "TEXT"
+        // IMHO superfluous => ReferenceError
+        assertEval(Ignored.ReferenceError, "argv <- list(structure('to be supported).', Rd_tag = 'TEXT'), 17L, 17L); .Internal(substr(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
     @Test
@@ -55,7 +60,8 @@ public class TestBuiltin_substr extends TestBase {
 
     @Test
     public void testsubstr8() {
-        assertEval(Ignored.Unknown,
+        // FIXME: We do not treat .Names as column headers while GnuR does
+        assertEval(Ignored.ImplementationError,
                         "argv <- list(structure(c('model.frame', 'predict', 'residuals'), .Names = c('model.frame', 'predict', 'residuals')), 1L, 6L); .Internal(substr(argv[[1]], argv[[2]], argv[[3]]))");
     }
 
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_sum.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_sum.java
index 6fb525be17e257368a45066fa77be511dcce92c1..d3481533138d04bcb637be2297b45ea25e0eb8a6 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_sum.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_sum.java
@@ -94,7 +94,8 @@ public class TestBuiltin_sum extends TestBase {
 
     @Test
     public void testsum16() {
-        assertEval(Ignored.Unknown, "argv <- list(1073741824L, 1073741824L);sum(argv[[1]],argv[[2]]);");
+        // FIXME Case difference GnuR: "Integer overflow" vs "integer overflow" in FastR
+        assertEval(Output.IgnoreCase, "argv <- list(1073741824L, 1073741824L);sum(argv[[1]],argv[[2]]);");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_tan.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_tan.java
index dc11349099fb86f92ab57d673f6eca2d0c95febd..6797b95c9e78ff39016a1c0d1c1be7e2e93169c3 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_tan.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_tan.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2012-2014, Purdue University
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2013, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -29,7 +29,8 @@ public class TestBuiltin_tan extends TestBase {
 
     @Test
     public void testtan3() {
-        assertEval(Ignored.Unknown, "argv <- list(Inf);tan(argv[[1]]);");
+        // Extra warning in GnuR: "In tan(argv[[1]]) : NaNs produced"
+        assertEval(Output.IgnoreWarningMessage, "argv <- list(Inf);tan(argv[[1]]);");
     }
 
     @Test
@@ -39,7 +40,8 @@ public class TestBuiltin_tan extends TestBase {
 
     @Test
     public void testtan5() {
-        assertEval(Ignored.Unknown, "argv <- list(1+1000i);tan(argv[[1]]);");
+        // FIXME FastR seems unable to compute the complex tan() output: NaN+NaNi
+        assertEval(Ignored.ImplementationError, "argv <- list(1+1000i);tan(argv[[1]]);");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_trigamma.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_trigamma.java
index 5df73a7c4070a8a046bee20289f32f8110dc4ab6..c097de77362e662e5d4384dffbe347b233b97978 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_trigamma.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_trigamma.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -19,24 +19,28 @@ public class TestBuiltin_trigamma extends TestBase {
 
     @Test
     public void testtrigamma1() {
-        assertEval(Ignored.Unknown,
+        // FIXME implement
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(structure(c(9.16602362697115, 1.16602362697115, 3.16602362697115, 6.16602362697115, 6.16602362697115, 2.16602362697115, 8.16602362697115, 1.16602362697115, 7.16602362697115, 19.1660236269712, 2.16602362697115), .Names = c('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11')));trigamma(argv[[1]]);");
     }
 
     @Test
     public void testtrigamma2() {
-        assertEval(Ignored.Unknown,
+        // FIXME implement
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(structure(c(3.23454845691922, 12.2345484569192, 15.2345484569192, 6.23454845691922, 6.23454845691922, 14.2345484569192, 21.2345484569192, 23.2345484569192, 7.23454845691922, 7.23454845691922, 16.2345484569192, 8.23454845691922, 15.2345484569192, 7.23454845691922, 33.2345484569192, 54.2345484569192, 58.2345484569192, 15.2345484569192, 17.2345484569192, 17.2345484569192, 18.2345484569192, 41.2345484569192, 44.2345484569192, 47.2345484569192, 9.23454845691922, 24.2345484569192, 24.2345484569192, 29.2345484569192, 35.2345484569192, 37.2345484569192, 39.2345484569192, 4.23454845691922, 6.23454845691922, 12.2345484569192, 25.2345484569192, 46.2345484569192, 6.23454845691922, 7.23454845691922, 7.23454845691922, 10.2345484569192, 14.2345484569192, 24.2345484569192, 26.2345484569192, 33.2345484569192, 54.2345484569192, 55.2345484569192, 6.23454845691922, 6.23454845691922, 12.2345484569192, 18.2345484569192, 20.2345484569192, 9.23454845691922, 14.2345484569192, 15.2345484569192, 21.2345484569192, 48.2345484569192, 49.2345484569192, 61.2345484569192, 82.2345484569192, 3.23454845691922, 1.23454845691922, 3.23454845691922, 4.23454845691922, 6.23454845691922, 11.2345484569192, 15.2345484569192, 22.2345484569192, 37.2345484569192, 41.2345484569192, 7.23454845691922, 18.2345484569192, 68.2345484569192, 1.23454845691922, 1.23454845691922, 3.23454845691922, 8.23454845691922, 12.2345484569192, 13.2345484569192, 1.23454845691922, 1.23454845691922, 6.23454845691922, 6.23454845691922, 6.23454845691922, 12.2345484569192, 18.2345484569192, 4.23454845691922, 5.23454845691922, 23.2345484569192, 31.2345484569192, 37.2345484569192, 9.23454845691922, 1.23454845691922, 2.23454845691922, 6.23454845691922, 8.23454845691922, 17.2345484569192, 28.2345484569192, 1.23454845691922, 31.2345484569192, 11.2345484569192, 15.2345484569192, 28.2345484569192, 42.2345484569192, 70.2345484569192, 26.2345484569192, 11.2345484569192, 12.2345484569192, 21.2345484569192, 34.2345484569192, 6.23454845691922, 8.23454845691922, 1.23454845691922, 2.23454845691922, 6.23454845691922, 6.23454845691922, 6.23454845691922, 6.23454845691922, 8.23454845691922, 12.2345484569192, 16.2345484569192, 6.23454845691922, 15.2345484569192, 7.23454845691922, 7.23454845691922, 8.23454845691922, 29.2345484569192, 1.23454845691922, 6.23454845691922, 15.2345484569192, 3.23454845691922, 3.23454845691922, 4.23454845691922, 9.23454845691922, 11.2345484569192, 13.2345484569192, 2.23454845691922, 2.23454845691922, 10.2345484569192, 23.2345484569192, 4.23454845691922, 4.23454845691922, 6.23454845691922, 16.2345484569192, 19.2345484569192, 23.2345484569192, 38.2345484569192), .Names = c('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '90', '91', '92', '93', '94', '95', '96', '97', '98', '99', '100', '101', '102', '103', '104', '105', '106', '107', '108', '109', '110', '111', '112', '113', '114', '115', '116', '117', '118', '119', '120', '121', '122', '123', '124', '125', '126', '127', '128', '129', '130', '131', '132', '133', '134', '135', '136', '137', '138', '139', '140', '141', '142', '143', '144', '145', '146')));trigamma(argv[[1]]);");
     }
 
     @Test
     public void testtrigamma3() {
-        assertEval(Ignored.Unknown, "argv <- list(c(1e+30, 1e+60, 1e+90, 1e+120, 1e+150, 1e+180, 1e+210, 1e+240, 1e+270, 1e+300));trigamma(argv[[1]]);");
+        // FIXME implement
+        assertEval(Ignored.Unimplemented, "argv <- list(c(1e+30, 1e+60, 1e+90, 1e+120, 1e+150, 1e+180, 1e+210, 1e+240, 1e+270, 1e+300));trigamma(argv[[1]]);");
     }
 
     @Test
     public void testtrigamma4() {
-        assertEval(Ignored.Unknown,
+        // FIXME implement
+        assertEval(Ignored.Unimplemented,
                         "argv <- list(c(-100, -3, -2, -1, 0, 1, 2, -99.9, -7.7, -3, -2.9, -2.8, -2.7, -2.6, -2.5, -2.4, -2.3, -2.2, -2.1, -2, -1.9, -1.8, -1.7, -1.6, -1.5, -1.4, -1.3, -1.2, -1.1, -1, -0.9, -0.8, -0.7, -0.6, -0.5, -0.4, -0.3, -0.2, -0.0999999999999996, 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 5.1, 77));trigamma(argv[[1]]);");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_unclass.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_unclass.java
index 6e9d92e306be8a904207a20fbe5f905ffb6d8f37..6eca4ee894894ec8f51fbe5eb52e46aa2a6c8dfe 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_unclass.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_unclass.java
@@ -24,18 +24,23 @@ public class TestBuiltin_unclass extends TestBase {
 
     @Test
     public void testunclass2() {
-        assertEval(Ignored.Unknown,
+        // FIXME "Year" printed on a new line it probably should be on the same line with quote()
+        assertEval(Output.IgnoreWhitespace,
                         "argv <- list(structure(list(Employed = c(60.323, 61.122, 60.171, 61.187, 63.221, 63.639, 64.989, 63.761, 66.019, 67.857, 68.169, 66.513, 68.655, 69.564, 69.331, 70.551), GNP.deflator = c(83, 88.5, 88.2, 89.5, 96.2, 98.1, 99, 100, 101.2, 104.6, 108.4, 110.8, 112.6, 114.2, 115.7, 116.9), GNP = c(234.289, 259.426, 258.054, 284.599, 328.975, 346.999, 365.385, 363.112, 397.469, 419.18, 442.769, 444.546, 482.704, 502.601, 518.173, 554.894), Unemployed = c(235.6, 232.5, 368.2, 335.1, 209.9, 193.2, 187, 357.8, 290.4, 282.2, 293.6, 468.1, 381.3, 393.1, 480.6, 400.7), Armed.Forces = c(159, 145.6, 161.6, 165, 309.9, 359.4, 354.7, 335, 304.8, 285.7, 279.8, 263.7, 255.2, 251.4, 257.2, 282.7), Population = c(107.608, 108.632, 109.773, 110.929, 112.075, 113.27, 115.094, 116.219, 117.388, 118.734, 120.445, 121.95, 123.366, 125.368, 127.852, 130.081), Year = 1947:1962), .Names = c('Employed', 'GNP.deflator', 'GNP', 'Unemployed', 'Armed.Forces', 'Population', 'Year'), terms = quote(Employed ~ GNP.deflator + GNP + Unemployed +     Armed.Forces + Population + Year), row.names = 1947:1962));unclass(argv[[1]]);");
     }
 
     @Test
     public void testunclass3() {
-        assertEval(Ignored.Unknown, "argv <- list(structure(list(x = c(TRUE, FALSE, TRUE, FALSE, TRUE, FALSE, TRUE, FALSE, TRUE, FALSE)), .Names = 'x', row.names = c(NA, 10L)));unclass(argv[[1]]);");
+        // GnuR does not retain row.names vector and substitutes it with 1L:10L
+        // Probably GnuR error since for row.names=c(NA, 9L, 10L) GnuR retains the row.names vector
+        // as is
+        assertEval(Ignored.ReferenceError,
+                        "argv <- list(structure(list(x = c(TRUE, FALSE, TRUE, FALSE, TRUE, FALSE, TRUE, FALSE, TRUE, FALSE)), .Names = 'x', row.names = c(NA, 10L)));unclass(argv[[1]]);");
     }
 
     @Test
     public void testunclass4() {
-        assertEval(Ignored.Unknown,
+        assertEval(Ignored.ReferenceError, // similar problem with row.names like above
                         "argv <- list(structure(list(X1.10 = 1:10, z = structure(list(x = 1:10, yyy = 11:20), .Names = c('x', 'yyy'), row.names = c(NA, -10L), class = 'data.frame')), .Names = c('X1.10', 'z'), row.names = c(NA, -10L)));unclass(argv[[1]]);");
     }
 
@@ -56,7 +61,7 @@ public class TestBuiltin_unclass extends TestBase {
 
     @Test
     public void testunclass8() {
-        assertEval(Ignored.Unknown,
+        assertEval(Ignored.ReferenceError, // similar problem with row.names like above
                         "argv <- list(structure(list(`cbind(w = weight, w2 = weight^2)` = structure(c(4.17, 5.58, 5.18, 6.11, 4.5, 4.61, 5.17, 4.53, 5.33, 5.14, 4.81, 4.17, 4.41, 3.59, 5.87, 3.83, 6.03, 4.89, 4.32, 4.69, 17.3889, 31.1364, 26.8324, 37.3321, 20.25, 21.2521, 26.7289, 20.5209, 28.4089, 26.4196, 23.1361, 17.3889, 19.4481, 12.8881, 34.4569, 14.6689, 36.3609, 23.9121, 18.6624, 21.9961), .Dim = c(20L, 2L), .Dimnames = list(NULL, c('w', 'w2'))), group = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c('Ctl', 'Trt'), class = 'factor')), .Names = c('cbind(w = weight, w2 = weight^2)', 'group'), terms = quote(cbind(w = weight, w2 = weight^2) ~ group), row.names = c(NA, 20L)));unclass(argv[[1]]);");
     }
 
@@ -78,7 +83,7 @@ public class TestBuiltin_unclass extends TestBase {
 
     @Test
     public void testunclass12() {
-        assertEval(Ignored.Unknown,
+        assertEval(Ignored.ReferenceError, // similar problem with row.names like above
                         "argv <- list(structure(list(`log(x)` = c(0, 0.693147180559945, 1.09861228866811, 1.38629436111989, 1.6094379124341, 1.79175946922805, 1.94591014905531, 2.07944154167984, 2.19722457733622, 2.30258509299405, 2.39789527279837, 2.484906649788, 2.56494935746154, 2.63905732961526, 2.70805020110221, 2.77258872223978, 2.83321334405622, 2.89037175789616, 2.94443897916644, 2.99573227355399, 3.04452243772342, 3.09104245335832, 3.13549421592915, 3.17805383034795, 3.2188758248682, 3.25809653802148, 3.29583686600433, 3.3322045101752, 3.36729582998647, 3.40119738166216, 3.43398720448515, 3.46573590279973, 3.49650756146648, 3.52636052461616, 3.55534806148941, 3.58351893845611, 3.61091791264422, 3.63758615972639, 3.66356164612965, 3.68887945411394, 3.71357206670431, 3.73766961828337, 3.76120011569356, 3.78418963391826, 3.80666248977032, 3.8286413964891, 3.85014760171006, 3.87120101090789, 3.89182029811063, 3.91202300542815, 3.93182563272433, 3.95124371858143, 3.97029191355212, 3.98898404656427, 4.00733318523247, 4.02535169073515, 4.04305126783455, 4.06044301054642, 4.07753744390572, 4.0943445622221, 4.11087386417331, 4.12713438504509, 4.14313472639153, 4.15888308335967, 4.17438726989564, 4.18965474202643, 4.20469261939097, 4.21950770517611, 4.23410650459726, 4.24849524204936, 4.26267987704132, 4.27666611901606, 4.29045944114839, 4.30406509320417, 4.31748811353631, 4.33073334028633, 4.34380542185368, 4.35670882668959, 4.36944785246702, 4.38202663467388, 4.39444915467244, 4.40671924726425, 4.4188406077966, 4.43081679884331, 4.44265125649032, 4.45434729625351, 4.46590811865458, 4.47733681447821, 4.48863636973214, 4.49980967033027, 4.51085950651685, 4.52178857704904, 4.53259949315326, 4.54329478227, 4.55387689160054, 4.56434819146784, 4.57471097850338, 4.58496747867057, 4.59511985013459, 4.60517018598809), `log(z)` = c(2.39789527279837, 2.484906649788, 2.56494935746154, 2.63905732961526, 2.70805020110221, 2.77258872223978, 2.83321334405622, 2.89037175789616, 2.94443897916644, 2.99573227355399, 3.04452243772342, 3.09104245335832, 3.13549421592915, 3.17805383034795, 3.2188758248682, 3.25809653802148, 3.29583686600433, 3.3322045101752, 3.36729582998647, 3.40119738166216, 3.43398720448515, 3.46573590279973, 3.49650756146648, 3.52636052461616, 3.55534806148941, 3.58351893845611, 3.61091791264422, 3.63758615972639, 3.66356164612965, 3.68887945411394, 3.71357206670431, 3.73766961828337, 3.76120011569356, 3.78418963391826, 3.80666248977032, 3.8286413964891, 3.85014760171006, 3.87120101090789, 3.89182029811063, 3.91202300542815, 3.93182563272433, 3.95124371858143, 3.97029191355212, 3.98898404656427, 4.00733318523247, 4.02535169073515, 4.04305126783455, 4.06044301054642, 4.07753744390572, 4.0943445622221, 4.11087386417331, 4.12713438504509, 4.14313472639153, 4.15888308335967, 4.17438726989564, 4.18965474202643, 4.20469261939097, 4.21950770517611, 4.23410650459726, 4.24849524204936, 4.26267987704132, 4.27666611901606, 4.29045944114839, 4.30406509320417, 4.31748811353631, 4.33073334028633, 4.34380542185368, 4.35670882668959, 4.36944785246702, 4.38202663467388, 4.39444915467244, 4.40671924726425, 4.4188406077966, 4.43081679884331, 4.44265125649032, 4.45434729625351, 4.46590811865458, 4.47733681447821, 4.48863636973214, 4.49980967033027, 4.51085950651685, 4.52178857704904, 4.53259949315326, 4.54329478227, 4.55387689160054, 4.56434819146784, 4.57471097850338, 4.58496747867057, 4.59511985013459, 4.60517018598809, 4.61512051684126, 4.62497281328427, 4.63472898822964, 4.64439089914137, 4.65396035015752, 4.66343909411207, 4.67282883446191, 4.68213122712422, 4.69134788222914, 4.70048036579242)), .Names = c('log(x)', 'log(z)'), row.names = c(NA, 100L), terms = quote(~log(x) + log(z))));unclass(argv[[1]]);");
     }
 
@@ -144,7 +149,9 @@ public class TestBuiltin_unclass extends TestBase {
 
     @Test
     public void testunclass25() {
-        assertEval(Ignored.Unknown,
+        // GnuR does not retain row.names vector and substitutes it with 1L while FastR keeps c(NA,
+        // -1L)
+        assertEval(Ignored.ReferenceError,
                         "argv <- list(structure(list(srcfile = '/home/lzhao/tmp/RtmpYl9n1I/R.INSTALL2aa24b6697e5/MASS/R/negbin.R', frow = 135L, lrow = 137L), .Names = c('srcfile', 'frow', 'lrow'), row.names = c(NA, -1L)));unclass(argv[[1]]);");
     }
 
@@ -170,7 +177,9 @@ public class TestBuiltin_unclass extends TestBase {
 
     @Test
     public void testunclass31() {
-        assertEval(Ignored.Unknown, "argv <- list(structure(list(), .Names = character(0), row.names = c(NA, -10L), terms = quote(~0)));unclass(argv[[1]]);");
+        // GnuR does not retain row.names vector and substitutes it with 1L:10L while FastR keeps
+        // c(NA, -10L)
+        assertEval(Ignored.ReferenceError, "argv <- list(structure(list(), .Names = character(0), row.names = c(NA, -10L), terms = quote(~0)));unclass(argv[[1]]);");
     }
 
     @Test
@@ -185,7 +194,9 @@ public class TestBuiltin_unclass extends TestBase {
 
     @Test
     public void testunclass34() {
-        assertEval(Ignored.Unknown,
+        // GnuR does not retain row.names vector and substitutes it with 1L:24L while FastR keeps
+        // c(NA, 24L)
+        assertEval(Ignored.ReferenceError,
                         "argv <- list(structure(list(`cbind(A, B, C, D)` = structure(c(0.696706709347165, 0.362357754476673, -0.0291995223012888, 0.696706709347165, 0.696706709347165, -0.0291995223012888, 0.696706709347165, -0.0291995223012888, 0.362357754476673, 0.696706709347165, -0.0291995223012888, 0.362357754476673, -0.416146836547142, 0.362357754476673, 0.696706709347165, 0.696706709347165, 0.362357754476673, -0.416146836547142, -0.0291995223012888, -0.416146836547142, 0.696706709347165, -0.416146836547142, 0.362357754476673, -0.0291995223012888, 0.717356090899523, 0.932039085967226, 0.999573603041505, 0.717356090899523, 0.717356090899523, 0.999573603041505, 0.717356090899523, 0.999573603041505, 0.932039085967226, 0.717356090899523, 0.999573603041505, 0.932039085967226, 0.909297426825682, 0.932039085967226, 0.717356090899523, 0.717356090899523, 0.932039085967226, 0.909297426825682, 0.999573603041505, 0.909297426825682, 0.717356090899523, 0.909297426825682, 0.932039085967226, 0.999573603041505, -0.0291995223012888, -0.737393715541246, -0.998294775794753, -0.0291995223012888, -0.0291995223012888, -0.998294775794753, -0.0291995223012888, -0.998294775794753, -0.737393715541246, -0.0291995223012888, -0.998294775794753, -0.737393715541246, -0.653643620863612, -0.737393715541246, -0.0291995223012888, -0.0291995223012888, -0.737393715541246, -0.653643620863612, -0.998294775794753, -0.653643620863612, -0.0291995223012888, -0.653643620863612, -0.737393715541246, -0.998294775794753, 0.999573603041505, 0.67546318055115, -0.0583741434275801, 0.999573603041505, 0.999573603041505, -0.0583741434275801, 0.999573603041505, -0.0583741434275801, 0.67546318055115, 0.999573603041505, -0.0583741434275801, 0.67546318055115, -0.756802495307928, 0.67546318055115, 0.999573603041505, 0.999573603041505, 0.67546318055115, -0.756802495307928, -0.0583741434275801, -0.756802495307928, 0.999573603041505, -0.756802495307928, 0.67546318055115, -0.0583741434275801), .Dim = c(24L, 4L), .Dimnames = list(NULL, c('A', 'B', 'C', 'D'))), groups = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), .Label = c('1', '2', '3'), class = 'factor')), .Names = c('cbind(A, B, C, D)', 'groups'), terms = quote(cbind(A, B, C, D) ~ groups), row.names = c(NA, 24L)));unclass(argv[[1]]);");
     }
 
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_unique.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_unique.java
index 6cb78ee8079cfc34ee6077585d3d4f6b4c6c8537..d990d1c239ab17efd170416b2321c2f77144a1dc 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_unique.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_unique.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2012-2014, Purdue University
- * Copyright (c) 2013, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2013, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -24,8 +24,8 @@ public class TestBuiltin_unique extends TestBase {
 
     @Test
     public void testunique2() {
-        // FIXME NA's are being considered duplicates
-        assertEval(Ignored.Unknown, "argv <- list(c('a', 'b', 'c', 'c', 'b', 'a', 'NA', 'd', 'd', NA), FALSE, FALSE, NA); .Internal(unique(argv[[1]], argv[[2]], argv[[3]], argv[[4]]))");
+        // FIXME FastR wrongly considers 'NA' and NA equal
+        assertEval(Ignored.ImplementationError, "argv <- list(c('a', 'b', 'c', 'c', 'b', 'a', 'NA', 'd', 'd', NA), FALSE, FALSE, NA); .Internal(unique(argv[[1]], argv[[2]], argv[[3]], argv[[4]]))");
     }
 
     @Test
@@ -188,7 +188,9 @@ public class TestBuiltin_unique extends TestBase {
 
         assertEval("{ x<-quote(f(7, 42)); unique(x) }");
         assertEval("{ x<-function() 42; unique(x) }");
-        assertEval(Ignored.Unknown, "{ unique(c(1,2,1), incomparables=function() 42) }");
+        // FastR msg "invalid 'incomparables' argument"
+        // seems a bit better than GnuR's "cannot coerce type 'closure' to vector of type 'double'"
+        assertEval(Ignored.ReferenceError, "{ unique(c(1,2,1), incomparables=function() 42) }");
 
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_xtfrm.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_xtfrm.java
index ac501a592bb192ff88a35a979cf18589c14103eb..5d8a63676e6cda894844b90ed38b40daa63393d0 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_xtfrm.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_xtfrm.java
@@ -4,7 +4,7 @@
  * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * Copyright (c) 2014, Purdue University
- * Copyright (c) 2014, 2016, Oracle and/or its affiliates
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates
  *
  * All rights reserved.
  */
@@ -39,7 +39,10 @@ public class TestBuiltin_xtfrm extends TestBase {
 
     @Test
     public void testxtfrm5() {
-        assertEval(Ignored.Unknown, "argv <- list(NULL);xtfrm(argv[[1]]);");
+        // FIXME: looks like we do not handle RNull properly in rank()
+        // FastR output: Error in rank(x, ties.method = "min", na.last = "keep") :
+        // unimplemented type 'RNull'
+        assertEval(Ignored.ImplementationError, "argv <- list(NULL);xtfrm(argv[[1]]);");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/generate/FastRSession.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/generate/FastRSession.java
index ca61843663b6891e0e6bfea2f7358a2495c30ee8..6f213a4cefec5593582bcc8e8f176261cd83dd20 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/generate/FastRSession.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/generate/FastRSession.java
@@ -231,7 +231,7 @@ public final class FastRSession implements RSession {
         } catch (RError e) {
             // nothing to do
         } catch (Throwable t) {
-            if (!TestBase.ProcessFailedTests) {
+            if (!TestBase.ProcessFailedTests || TestBase.ShowFailedTestsResults) {
                 if (t instanceof RInternalError) {
                     RInternalError.reportError(t);
                 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestConditionHandling.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestConditionHandling.java
index c2c416bad75f8e020b1eb20d5e8591bfcfaa132b..bafe789b1f0c79c3df1f66ff23cf74008bb65861 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestConditionHandling.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestConditionHandling.java
@@ -40,7 +40,13 @@ public class TestConditionHandling extends TestRBase {
         assertEval("{ e <- simpleError(\"test error\"); f <- function() { tryCatch(1, finally = print(\"Hello\")); stop(e)}; f() }");
         assertEval(Output.IgnoreErrorContext, "{ tryCatch(stop(\"fred\"), finally = print(\"Hello\")) }");
         assertEval("{ e <- simpleError(\"test error\"); tryCatch(stop(e), error = function(e) e, finally = print(\"Hello\"))}");
-        assertEval(Ignored.Unknown, "{ tryCatch(stop(\"fred\"), error = function(e) e, finally = print(\"Hello\"))}");
+        // FIXME missing "in doTryCatch(return(expr), name, parentenv, handler)"
+        // in FastR error description
+        // Expected output: [1] "Hello"
+        // <simpleError in doTryCatch(return(expr), name, parentenv, handler): fred>
+        // FastR output: [1] "Hello"
+        // <simpleError: fred>
+        assertEval(Ignored.ImplementationError, "{ tryCatch(stop(\"fred\"), error = function(e) e, finally = print(\"Hello\"))}");
         assertEval("{ f <- function() { tryCatch(1, error = function(e) print(\"Hello\")); stop(\"fred\")}; f() }");
         assertEval("{ f <- function() { tryCatch(stop(\"fred\"), error = function(e) print(\"Hello\"))}; f() }");
         assertEval("{ tryCatch(stop(\"xyz\"), error=function(e) { cat(\"<error>\");123L }, finally=function() { cat(\"<finally>\")}) }");
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestEnvironments.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestEnvironments.java
index 31bbd86d488af757a81cc21e81cce170db3c3cf0..1f2f9713d5eda8af8729943f9336c0f680c3aa87 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestEnvironments.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestEnvironments.java
@@ -267,7 +267,8 @@ public class TestEnvironments extends TestBase {
 
     @Test
     public void testEnvironmentAssignLocked() {
-        assertEval(Ignored.Unknown, Output.IgnoreErrorContext, "{ x <- 1; lockBinding(\"x\", globalenv()); x <- 1 }");
+        // FIXME: No error when writing to locked variable
+        assertEval(Ignored.Unimplemented, Output.IgnoreErrorContext, "{ x <- 1; lockBinding(\"x\", globalenv()); x <- 1 }");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleArithmetic.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleArithmetic.java
index 59bec36ada508d1cdba82db2c227ed96aa648861..20b93a746d038a224badc35a2722d22b3fa11e8a 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleArithmetic.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleArithmetic.java
@@ -34,7 +34,7 @@ public class TestSimpleArithmetic extends TestBase {
 
         assertEval("{ 1000000000*100000000000 }");
         assertEval("{ 1000000000L*1000000000 }");
-        assertEval(Ignored.Unknown, "{ 1000000000L*1000000000L }"); // FIXME missing warning
+        assertEval(Output.MissingWarning, "{ 1000000000L*1000000000L }"); // FIXME missing warning
     }
 
     @Test
@@ -709,22 +709,22 @@ public class TestSimpleArithmetic extends TestBase {
 
     @Test
     public void testIntegerOverflow() {
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext, "{ x <- 2147483647L ; x + 1L }");
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext, "{ x <- 2147483647L ; x * x }");
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext, "{ x <- -2147483647L ; x - 2L }");
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext, "{ x <- -2147483647L ; x - 1L }");
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext, "{ 2147483647L + 1:3 }");
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext, "{ 2147483647L + c(1L,2L,3L) }");
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext, "{ 1:3 + 2147483647L }");
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext, "{ c(1L,2L,3L) + 2147483647L }");
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext, "{ 1:3 + c(2147483647L,2147483647L,2147483647L) }");
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext, "{ c(2147483647L,2147483647L,2147483647L) + 1:3 }");
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext, "{ c(1L,2L,3L) + c(2147483647L,2147483647L,2147483647L) }");
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext, "{ c(2147483647L,2147483647L,2147483647L) + c(1L,2L,3L) }");
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext, "{ 1:4 + c(2147483647L,2147483647L) }");
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext, "{ c(2147483647L,2147483647L) + 1:4 }");
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext, "{ c(1L,2L,3L,4L) + c(2147483647L,2147483647L) }");
-        assertEval(Ignored.Unknown, Output.IgnoreWarningContext, "{ c(2147483647L,2147483647L) + c(1L,2L,3L,4L) }");
+        assertEval(Output.MissingWarning, "{ x <- 2147483647L ; x + 1L }");
+        assertEval(Output.MissingWarning, "{ x <- 2147483647L ; x * x }");
+        assertEval(Output.MissingWarning, "{ x <- -2147483647L ; x - 2L }");
+        assertEval(Output.MissingWarning, "{ x <- -2147483647L ; x - 1L }");
+        assertEval(Ignored.ImplementationError, Output.IgnoreWarningContext, "{ 2147483647L + 1:3 }");
+        assertEval(Ignored.ImplementationError, Output.IgnoreWarningContext, "{ 2147483647L + c(1L,2L,3L) }");
+        assertEval(Ignored.ImplementationError, Output.IgnoreWarningContext, "{ 1:3 + 2147483647L }");
+        assertEval(Ignored.ImplementationError, Output.IgnoreWarningContext, "{ c(1L,2L,3L) + 2147483647L }");
+        assertEval(Ignored.ImplementationError, Output.IgnoreWarningContext, "{ 1:3 + c(2147483647L,2147483647L,2147483647L) }");
+        assertEval(Ignored.ImplementationError, Output.IgnoreWarningContext, "{ c(2147483647L,2147483647L,2147483647L) + 1:3 }");
+        assertEval(Ignored.ImplementationError, Output.IgnoreWarningContext, "{ c(1L,2L,3L) + c(2147483647L,2147483647L,2147483647L) }");
+        assertEval(Ignored.ImplementationError, Output.IgnoreWarningContext, "{ c(2147483647L,2147483647L,2147483647L) + c(1L,2L,3L) }");
+        assertEval(Ignored.ImplementationError, Output.IgnoreWarningContext, "{ 1:4 + c(2147483647L,2147483647L) }");
+        assertEval(Ignored.ImplementationError, Output.IgnoreWarningContext, "{ c(2147483647L,2147483647L) + 1:4 }");
+        assertEval(Ignored.ImplementationError, Output.IgnoreWarningContext, "{ c(1L,2L,3L,4L) + c(2147483647L,2147483647L) }");
+        assertEval(Ignored.ImplementationError, Output.IgnoreWarningContext, "{ c(2147483647L,2147483647L) + c(1L,2L,3L,4L) }");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleLoop.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleLoop.java
index 2c34e86d420894383b06e50a313d8a9baa3faa0f..31f442dec07398d8448bdbbe0ffc03c7e62507b9 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleLoop.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleLoop.java
@@ -61,9 +61,12 @@ public class TestSimpleLoop extends TestBase {
 
     @Test
     public void testLoopsErrorsIgnore() {
-        assertEval(Ignored.Unknown, Output.IgnoreErrorContext, "{ l <- quote(for(i in s) { x <- i }) ; s <- 1:3 ; eval(l) ; s <- function(){} ; eval(l) ; x }");
-        assertEval(Ignored.Unknown, Output.IgnoreErrorContext, "{ l <- function(s) { for(i in s) { x <- i } ; x } ; l(1:3) ; s <- function(){} ; l(s) ; x }");
-        assertEval(Ignored.Unknown, Output.IgnoreErrorContext, "{ l <- quote({ for(i in s) { x <- i } ; x }) ; f <- function(s) { eval(l) } ; f(1:3) ; s <- function(){} ; f(s) ; x }");
+        // FIXME: A strange-looking error: "Error in
+        // `*anonymous-FOR_RANGE-2119`[[`*anonymous-FOR_INDEX-2118`]] :
+        // object of type 'closure' is not subsettable"
+        assertEval(Output.IgnoreErrorMessage, "{ l <- quote(for(i in s) { x <- i }) ; s <- 1:3 ; eval(l) ; s <- function(){} ; eval(l) ; x }");
+        assertEval(Output.IgnoreErrorMessage, "{ l <- function(s) { for(i in s) { x <- i } ; x } ; l(1:3) ; s <- function(){} ; l(s) ; x }");
+        assertEval(Output.IgnoreErrorMessage, "{ l <- quote({ for(i in s) { x <- i } ; x }) ; f <- function(s) { eval(l) } ; f(1:3) ; s <- function(){} ; f(s) ; x }");
     }
 
     @Test
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleVectors.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleVectors.java
index 60ee20a4efe1edc0bf42bcdaa0f7de9c424638ed..4e95a79254c9b05192b6beecbf72e31b2b77f024 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleVectors.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSimpleVectors.java
@@ -1008,7 +1008,7 @@ public class TestSimpleVectors extends TestBase {
         assertEval("{ x<-list(1,2,3,4); dim(x)<-c(2,2); x[[list(1), 1]] }");
         assertEval(Output.IgnoreErrorMessage, "{ x<-list(1,2,3,4); dim(x)<-c(2,2); x[[list(1,2), 1]] }");
 
-        assertEval(Ignored.Unknown, Output.IgnoreErrorContext, "{ z<-1:4; z[[list()]]<-NULL }");
+        assertEval(Output.IgnoreErrorMessage, "{ z<-1:4; z[[list()]]<-NULL }");
     }
 
     @Test
@@ -2186,7 +2186,7 @@ public class TestSimpleVectors extends TestBase {
         assertEval(Output.IgnoreErrorMessage, "{ x <- NULL; x[[c(1,0)]] <- c(1,5); x; }");
         assertEval(Output.IgnoreErrorMessage, "{ x <- NULL; x[[c(1,2)]] <- c(1,5); x; }");
 
-        assertEval(Ignored.Unknown, "{ x <- NULL; x[[1]] <- c(1,5); x; }");
+        assertEval(Ignored.Unimplemented, "{ x <- NULL; x[[1]] <- c(1,5); x; }");
     }
 
     @Test