From c82245a819319b11aaea5d9bec140257917490ff Mon Sep 17 00:00:00 2001
From: Miloslav Metelka <miloslav.metelka@oracle.com>
Date: Thu, 6 Apr 2017 10:30:47 +0200
Subject: [PATCH] Failed tests categorization.

---
 .../truffle/r/test/ExpectedTestOutput.test    | 692 ++++++++----------
 .../com/oracle/truffle/r/test/TestBase.java   |  48 +-
 .../com/oracle/truffle/r/test/TestRBase.java  |  12 +-
 .../builtins/TestBuiltin_ISOdatetime.java     |  11 +-
 .../r/test/builtins/TestBuiltin_La.java       |  16 +-
 .../r/test/builtins/TestBuiltin_acosh.java    |   7 +-
 .../r/test/builtins/TestBuiltin_agrep.java    |  11 +-
 .../builtins/TestBuiltin_anyDuplicated.java   |   3 +-
 .../TestBuiltin_anyDuplicatedmatrix.java      |   5 +-
 .../r/test/builtins/TestBuiltin_aperm.java    |  45 +-
 .../r/test/builtins/TestBuiltin_aregexec.java |   9 +-
 .../test/builtins/TestBuiltin_ascomplex.java  |   8 +-
 .../test/builtins/TestBuiltin_asdifftime.java |   8 +-
 .../r/test/builtins/TestBuiltin_asdouble.java |   9 +-
 .../r/test/builtins/TestBuiltin_asmatrix.java |   4 +-
 .../r/test/builtins/TestBuiltin_attr.java     |   4 +-
 .../test/builtins/TestBuiltin_attributes.java |   5 +-
 .../test/builtins/TestBuiltin_backsolve.java  |  11 +-
 .../r/test/builtins/TestBuiltin_besselI.java  |   8 +-
 .../r/test/builtins/TestBuiltin_besselJ.java  |  11 +-
 .../r/test/builtins/TestBuiltin_besselK.java  |  14 +-
 .../r/test/builtins/TestBuiltin_besselY.java  |  14 +-
 .../r/test/builtins/TestBuiltin_beta.java     |  14 +-
 .../builtins/TestBuiltin_bindtextdomain.java  |   6 +-
 .../builtins/TestBuiltin_bitwiseShiftR.java   |   2 +-
 .../r/test/builtins/TestBuiltin_c.java        |  21 +-
 .../r/test/builtins/TestBuiltin_cbind.java    |   4 +-
 .../r/test/builtins/TestBuiltin_chartr.java   |  12 +-
 .../builtins/TestBuiltin_classassign.java     |  36 +-
 .../r/test/builtins/TestBuiltin_colMeans.java |   7 +-
 .../test/builtins/TestBuiltin_copyDFattr.java |   6 +-
 .../r/test/builtins/TestBuiltin_cospi.java    |   5 +-
 .../test/builtins/TestBuiltin_crossprod.java  |  10 +-
 .../r/test/builtins/TestBuiltin_cumsum.java   |   4 +-
 .../r/test/builtins/TestBuiltin_date.java     |   5 +-
 .../r/test/builtins/TestBuiltin_dfltWarn.java |   3 +-
 .../test/builtins/TestBuiltin_dimassign.java  |   3 +-
 .../r/test/builtins/TestBuiltin_dir.java      |   4 +-
 .../builtins/TestBuiltin_findInterval.java    |  14 +-
 .../r/test/builtins/TestBuiltin_formatC.java  |  18 +-
 .../r/test/builtins/TestBuiltin_gamma.java    |   3 +-
 .../r/test/builtins/TestBuiltin_gcinfo.java   |   8 +-
 .../test/builtins/TestBuiltin_growconst.java  |   5 +-
 .../r/test/builtins/TestBuiltin_iconv.java    |  24 +-
 .../test/builtins/TestBuiltin_isnumeric.java  |  13 +-
 .../test/builtins/TestBuiltin_isunsorted.java |  17 +-
 .../r/test/builtins/TestBuiltin_lbeta.java    |   4 +-
 .../r/test/builtins/TestBuiltin_lgamma.java   |   7 +-
 .../r/test/builtins/TestBuiltin_lm.java       |   3 +-
 .../r/test/builtins/TestBuiltin_matrix.java   |  25 +-
 .../builtins/TestBuiltin_memDecompress.java   |   6 +-
 .../r/test/builtins/TestBuiltin_min.java      |  14 +-
 .../builtins/TestBuiltin_oldClassassign.java  |   6 +-
 .../r/test/builtins/TestBuiltin_options.java  |  10 +-
 .../r/test/builtins/TestBuiltin_parse.java    |  16 +-
 .../r/test/builtins/TestBuiltin_paste0.java   |   7 +-
 .../r/test/builtins/TestBuiltin_prmatrix.java |  26 +-
 .../r/test/builtins/TestBuiltin_psigamma.java |  10 +-
 .../r/test/builtins/TestBuiltin_psort.java    |  38 +-
 .../r/test/builtins/TestBuiltin_qr.java       |  22 +-
 .../r/test/builtins/TestBuiltin_qsort.java    |  15 +-
 .../r/test/builtins/TestBuiltin_rcond.java    |   8 +-
 .../r/test/builtins/TestBuiltin_readChar.java |   7 +-
 .../r/test/builtins/TestBuiltin_regexpr.java  |  20 +-
 .../r/test/builtins/TestBuiltin_rep.java      |   5 +-
 .../r/test/builtins/TestBuiltin_round.java    |   4 +-
 .../r/test/builtins/TestBuiltin_sin.java      |   6 +-
 .../r/test/builtins/TestBuiltin_sub.java      |  15 +-
 .../r/test/builtins/TestBuiltin_substr.java   |  12 +-
 .../r/test/builtins/TestBuiltin_sum.java      |   3 +-
 .../r/test/builtins/TestBuiltin_tan.java      |   8 +-
 .../r/test/builtins/TestBuiltin_trigamma.java |  14 +-
 .../r/test/builtins/TestBuiltin_unclass.java  |  27 +-
 .../r/test/builtins/TestBuiltin_unique.java   |  10 +-
 .../r/test/builtins/TestBuiltin_xtfrm.java    |   7 +-
 .../truffle/r/test/generate/FastRSession.java |   2 +-
 .../library/base/TestConditionHandling.java   |   8 +-
 .../r/test/library/base/TestEnvironments.java |   3 +-
 .../library/base/TestSimpleArithmetic.java    |  34 +-
 .../r/test/library/base/TestSimpleLoop.java   |   9 +-
 .../test/library/base/TestSimpleVectors.java  |   4 +-
 81 files changed, 940 insertions(+), 674 deletions(-)

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 b6e76f7af8..13ad6bd94d 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 6fa10c3bd8..e52b7226f0 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 69a51571c4..6d4317791a 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 82c91d658c..58e8f1224f 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 62d41240e2..bedd0f6b53 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 123f2d9bf9..bb4bdca226 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 6783dd4542..e8fb56be98 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 4459a88831..c341da371c 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 b2fcc0c037..431b920e04 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 9bd788df9e..6974bfef2a 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 2e2ac18310..f5323b554c 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 7f63eca369..b7a010a802 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 0aaff44737..a39cfdb313 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 8cdead0a43..26624d73a5 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 54beac54cc..c309948ee3 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 47cd777263..5401630e8b 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 bb630284a6..af13a6708d 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 54925ece2d..7a04dcd584 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 5fb3ece26f..78c36a510b 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 240913e1bd..9906603888 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 255718599c..100011e365 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 76584cd255..4d751a26ec 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 3fc9483289..5492217c58 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 7053de9de6..cd828767b8 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 0f441d89da..5066ea3494 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 a44f9d2c3a..99bfa6460b 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 d675297dfd..82d71854d9 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 5174298f6c..ea22fa4553 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 28e7365e5a..a0b45bf63d 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 25ae251a81..9ea4a30bba 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 fa5d0bd6d6..eab5145ae3 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 1559f7c4f3..22f4fbe2f1 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 74a1c7a8e1..07cbdc0b4b 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 92b68c4885..cee940d99e 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 2e5cb8a4f5..8698b629ba 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 d21234fe96..06811da2dd 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 539ebde455..f453a15ed6 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 1d1d017705..ae7e5d9c4f 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 93109d139f..e726596d44 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 b1f0342232..2327686335 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 f8d55fed54..5f024ba694 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 503a3c359a..77f17bb5b7 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 3534db8881..f2fae494fc 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 c05827b501..91ccd99c4a 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 f98cfa3f2f..d7ee33c144 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 52fa1f06fb..95d36ad6f5 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 cca7f0f64e..6248c5a82e 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 144683f652..72dcf3d5ba 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 1761b0e116..231f5200d2 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 e6957f67d0..5881b9f0dd 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 677277945c..7222ae1a2c 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 c8c5ab5a20..442c0c3a6c 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 7a21c2b761..a971a63a5d 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 894d7da3d6..56452811e6 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 62df580491..dad626ba6f 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 7dd6948249..85f5157879 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 370345c6a5..f48635af59 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 9ff14d898c..8c7a7b06e8 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 ae148fb1ac..6150dfc0a8 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 397aa78e82..c176d24ca4 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 f9676194a0..49a8ed57bf 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 066ead4009..68c0bf5a03 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 e8fb538383..763d41b41c 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 f7d7efa0cd..a4ed9501b8 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 df9b448fc3..f40826faf1 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 ca06cd1db7..1101dc9b12 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 6a2d7e76bd..5fb590de05 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 3d15a80d4d..79ac5f1534 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 4a5cff4415..3942c970d8 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 6fb525be17..d348153313 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 dc11349099..6797b95c9e 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 5df73a7c40..c097de7736 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 6e9d92e306..6eca4ee894 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 6cb78ee807..d990d1c239 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 ac501a592b..5d8a63676e 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 ca61843663..6f213a4cef 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 c2c416bad7..bafe789b1f 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 31bbd86d48..1f2f9713d5 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 59bec36ada..20b93a746d 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 2c34e86d42..31f442dec0 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 60ee20a4ef..4e95a79254 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
-- 
GitLab