expected <- eval(parse(text="structure(c(1.80628649359964, -1.30838711192376, 1.29549411490388, 1.78832343356857, -0.39456302059763, 0.544711766482843, -0.544379112774633, -0.342972911828274, 1.32741424230756, -1.84966193822685, 1.85079221102433, 1.15447061960005, 2.851771966425, -1.81362889528157, 1.79672075400388, 2.88041698111655), .Dim = c(4L, 4L), .Dimnames = list(NULL, c(\"A\", \"B\", \"C\", \"D\")))"));      
test(id=0, code={      
argv <- eval(parse(text="list(structure(c(0.553622032575332, 0, 0, 0, 0, 1.83583330034692, 0, 0, 0, 0, 0.540309168173204, 0, 0, 0, 0, 0.347171956892285), .Dim = c(4L, 4L)), structure(c(3.26267089696047, -0.712693854979374, 2.39769041729195, 5.15111718577956, -0.712693854979374, 0.296710908544859, -1.00753262176762, -0.987904999293151, 2.39769041729195, -1.00753262176762, 3.42543180838832, 3.32535677689614, 5.15111718577956, -0.987904999293151, 3.32535677689614, 8.29680198510459), .Dim = c(4L, 4L), .Dimnames = list(c(\"A\", \"B\", \"C\", \"D\"), c(\"A\", \"B\", \"C\", \"D\"))))"));      
do.call(`%*%`, argv);      
}, o=expected);      

