actual = '';
expected = "function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},3,1,2,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},3,1,2,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},3,1,2,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},3,1,2,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},3,1,2,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},3,1,2,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},3,1,2,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},3,1,2,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},3,1,2,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},3,1,2,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},2,[object Object],a,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},2,[object Object],a,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},2,[object Object],a,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},2,[object Object],a,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},2,[object Object],a,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},2,[object Object],a,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},2,[object Object],a,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},2,[object Object],a,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},2,[object Object],a,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},2,[object Object],a,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},2,abc,def,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},2,abc,def,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},2,abc,def,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},2,abc,def,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},2,abc,def,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},2,abc,def,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},2,abc,def,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},2,abc,def,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},2,abc,def,function f() {\n  var a = arguments;\n  \n  appendToActual(a.callee);\n  appendToActual(a.length);\n  appendToActual(a[0]);\n  appendToActual(a[1]);\n},2,abc,def,"

// args object created on trace

function f() {
  var a = arguments;
  
  appendToActual(a.callee);
  appendToActual(a.length);
  appendToActual(a[0]);
  appendToActual(a[1]);
}

for (var i = 0; i < 10; ++i)
  f(1, 2, 3);
for (var i = 0; i < 10; ++i)
  f({}, 'a');
for (var i = 0; i < 10; ++i)
  f('abc', 'def');


assertEq(actual, expected)
